蛇形矩阵蒸滴好玩

news/2024/7/7 21:25:16

先来看看题目:

描述

康托尔三角是由著名数学家康托尔设计的一个整数三角,可以用来证明所有有理数与自然数一一对应,亦即有理数集是一个可数集。康托尔三角的构造如下:
01 02 06 07 15 16 28 29 45 46
03 05 08 14 17 27 30 44 47
04 09 13 18 26 31 43 48
10 12 19 25 32 42 49
11 20 24 33 41 50
21 23 34 40 51
22 35 39 52
36 38 53
37 54
55
它的填充规律是:将自然数按照从小到大的顺序从左上角往右下角按照蛇形排列:从左下到右上,再从右上到左下,每当到达边界之后就改变填充方向。
按照这种方式填充的三角形,给定行值和列值之后,填充的自然数是确定的。
规定行值和列值均从1开始计算。用(行,列)的方式进行描述。那么有:
(1,1)为1,(1,4)为7,(3,4)为18,(6,5)为51,(8,2)为38.
给定一个行值r和列值c,请求出对应的自然数。题目保证1≤r,c≤10,000

格式

输入格式

一行,两个整数,中间用空格分隔,表示行值r和列值c。

输出格式

一个正整数,表示该位置应填充的数据

样例

输入样例

5  4

输出样例

33

首先我想到的是用数组将这个三角形打表,但是很可惜,超内存了!后面苦思冥想,发现了其中的规律。

现在假设轮替的轮数为 turn .

 

代码 


import java.util.Scanner;

public class SnakeMatrix {
    public static void main(String[] args) {
        Scanner get=new Scanner(System.in);
        int r,c,turn,ans;
        int n=10;
        r=get.nextInt();
        c=get.nextInt();
        turn=r+c-1;
        if(turn%2!=0){
            ans=(turn+1)/2*turn-(turn-c);
        }else{
            ans=turn/2*(turn+1)-c+1;
        }
        System.out.println(ans);
    }
}


http://lihuaxi.xjx100.cn/news/55063.html

相关文章

基于python+django框架+Mysql数据库的企业公司网站系统设计与实现

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于python的公司企业网站,整体基于B/S架构,技术上使用基于python的Django框架来实现;通过后台添加公司资讯、公司产品、公司产品案例、公司资讯、查看注册用户、查看留言…

Python 导入模块

Python 导入模块1.import 模块名2.import 模块名 as 名称缩写3.import 模块名.子模块名 as 名称缩写4.from 模块名 import 函数5.from 模块名.子模块名 import 函数模块 是第三方专门为了解决某些特定问题而编写的工具。Python 本身自带了一些常用的模块,例如&#…

图像处理之空间滤波

1 原理 1.1 空间滤波简介 滤波器即只让一部分频率的波形通过来达到波形过滤目的的器件。空间域指一张图像像素平面一定范围内的像素域,相对的是时间域,即多帧图像之间的关系,主要在处理视频帧时描述。在图像处理中,滤波分为两种&…

PTA - 数据库合集6(10题)

目录 10-1 查询选修‘C语言’课程的学生 10-2 查询平均分高于80分的学生 10-3 查询平均成绩最高的前3名同学 10-4 批量插入学生记录 10-5 修改女生成绩 10-7 spj-查询供应工程 j1 的供应商 10-8 spj-查询至少使用s1供应商所供应的全部零件的工程 10-9 查询年龄18-20之间…

Linux--权限管理

学习目标1. Linux权限管理1.1 用户分类2. 用户类型和访问权限2.1 理解什么是权限3 文件类型和权限操作3.1 修改权限3.2 关于root3.3 更改文件拥有者3.4 修改组权限3.5 目录权限3.5.1 粘滞位3.6 关于目录权限的总结3.7 默认权限3.7.1 自定义默认权限1. Linux权限管理 1.1 用户分…

Kubernetes(k8s)基础之三:K8s常用命令

目录 kubectl的基本命令 k8s常用操作命令 k8s常用命令操作示例 资源管理 命令式对象管理 kubectl命令 资源类型 查看k8s对象状态 k8s对象配置 k8s容器编排配置文件模板 1. deployment 相关使用 创建deployment 更新deployment 回退deployment 暂停和恢复deploym…

基于PHP+小程序(MINA框架)+Mysql数据库的积分商城小程序系统设计与实现

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序商城系统,前台用户使用小程序,小程序使用微信开发者工具开发;后台管理使用基PPMySql的B/S架构,开发工具使用phpstorm;通过后台添加商…

Teleport 内置组件 (传送门)

<Teleport> 接收一个 to prop 来指定传送的目标。to 的值可以是一个 CSS 选择器字符串&#xff0c;也可以是一个 DOM 元素对象。这段代码的作用就是告诉 Vue“把以下模板片段传送到 body 标签下”。 <button click"open true">Open Modal</button&g…