四川大学线下编程比赛第一题:数字填充 (java实现)

Flink CDC 1.18.1 Oracle 数据同步到postgresql 8、修改Flink的配置文件,主要是各种服务的绑定地址,默认为localhost,统统改为0.0.0.0,如:rest.address: 0.0.0.0 #localhost。将flink-sql-connector-oracle-cdc-3.0.1.jar复制到flink-1.18.1/lib目录中。6、下载 flink-connector-jdbc-3.1.1-1.17.jar,postgresql-42.7.3.jar。7、安装postgresql就不说了,相信你已经有了数据库了。 阅读详情

原题位置:http://student.youkuaiyun.com/mcs/programming_challenges

题目意思:

peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则是在一个N*N的表格里填数,规则:对于每个输入的N,从左上角开始,总是以对角线为起点,先横着填,再竖着填。这里给了一些样例,请在样例中找到规律并把这个N*N的表格打印出来吧。

输入描述:

多组测试数据(数据量在100组以内)。每组测试数据只有一行为一个整数N(1<=N<=30),表示表格的大小。

输出描述:

对于每组输入数据,输出N行,为填完的表格(N行,每行N个整数,每个数字之间用空格隔开。

答题说明:

输入样例:

3

5

输出样例:

1 2 3

4 6 7

5 8 9

1 2 3 4 5

6 10 11 12 13

7 14 17 18 19

8 15 20 22 23

9 16 21 24 25


分析如下:

先是横向开始填充数字(从1开始,到最后的数字是n*n)

当横向填充满后,开始纵向的填充,直到纵向填充满了,又继续横向填充,依次循环,知道最后一个数字。

看图就知道了,每次记录這个黑点的位置,然后在這个点的横向或者纵向填充数字。



下面使用java实现的代码

package com.act262.test;

import java.util.Scanner;

public class P {

	public static void main(String[] args) {

		test1();
	}

	private static void test1() {
		Scanner in = new Scanner(System.in);

		while (in.hasNext()) {
			int n = in.nextInt();
			if (n > 30 || n < 1) {
				System.out.println("invalid input");
				System.exit(0);
			}

			// 建立一个n*n的二维表格
			int[][] sheet = new int[n][n];

			// 数据填充
			int count = n * n;// 总数量

			int x = 0; // 横向位置
			int y = 0;// 纵向位置
			int k = 1;// 当前的值

			int a, b; //位置记录
			while (k <= count) {
				sheet[y][x] = k++;

				// 记录了对角线的坐标位置
				a = y + 1;
				b = x + 1;

				// 横向填充
				while (b < n) {
					sheet[y][b++] = k++;
				}

				// 纵向填充
				while (a < n) {
					sheet[a++][x] = k++;
				}

				// 坐标位置向对角线方向移动一个单位
				x++;
				y++;

			}

			// 输出数据
			for (int i = 0; i < sheet.length; i++) {
				for (int j = 0; j < sheet[i].length; j++) {
					System.out.print(sheet[i][j] + " ");
				}
				System.out.println();
			}

		}

		in.close();
	}

}




Adversarial Texture for Fooling Person Detectors in the Physical World 本文提出了对抗纹理的想法(AdvTexture),与基本补丁攻击不同对抗纹理可以生成任意大小,可以覆盖任意大小的不了,并且纹理的任何局部都有对抗性的效果。当衣服被对抗纹理覆盖是,摄像头捕捉到的每一个局部区域都可以攻击探测器,这成功解决了片段缺失的问题。提出了一种两阶段生成方法:基于环形收割的可扩展生成攻击(TC-EGA)来制作广告纹理。第一阶段,训练一个全卷积网络FCN作为生成器,通过采样随机潜变量作为输入来产生纹理(不同于GAN中传统的生成器架构,每一层都使用卷积运算)...... 阅读详情

相关推荐

从Zemax到Speos:HUD设计数据无缝迁移避坑指南(含STEP文件精度验证)

本文详细介绍了从Zemax到Speos的HUD设计数据无缝迁移方法,重点解决Zernike曲面参数保真、虚拟厚度设置和坐标系对齐等核心问题。通过STEP文件精度验证和工程化解决方案,帮助工程师避免数据迁移中的常见陷阱,提升HUD系统设计效率。适用于Ansys Zemax和Ansys Speos用户,优化光学性能验证流程。

h6i7j8的博客 1063

Java 数字前自动填充补0

String str = new DecimalFormat("00000").format(1); 结果:str=“00001” 前面的“00000”表示:自动填充0至5位数 如果写成“000”,则 str=“001” 如果写成“22222”,则str=“22221” 后面的1表示:需要自动填充的数字 如果写成2,则str=“00002” 如果是小数:则会舍入为整数(舍入规则暂未搞清) 如果写成1.500000000001:则str=“0000...

weixin_45253080的博客 3061

Unity Hub报错The Hub as encountered a critical error and must close

如果注册表HKEY_LOCAL_MACHINE\SOFTWARE\Unity Technologies\这个目录下有Hub文件,直接删掉然后重装就可以。C:\Users\Administrator\AppData\Roaming\Unity 作者:SevenVee。HKEY_CURRENT_USER\Software\Unity 下所有项,尝试过,卸载重装,清除临时文件无果后,最终决定删除所有与Hub有关的文件。重装unity后可以打开了。结果:卸载重装后还是会出现此问题。结果:重装后还是无法解决。

qq_42345116的博客 3638

java将数字填充0到8位

用Java将数字填充0到8位 在Java编程中,有时候我们需要将数字填充到指定的位数,比如要求一个数字始终是8位数,不足的地方用0来填充。这在某些情况下很有用,比如在数据库中存储固定长度的数字。在本文中,我们将介绍如何使用Java来实现这一功能。 String.format方法 Java中可以使用String类提供的for...

weixin_33264203的博客 382

从零到一:树莓派上的YOLO目标检测实战指南

本文详细介绍了如何在树莓派上部署和优化YOLO目标检测模型,从硬件选型到系统配置,再到模型转换与推理优化。通过对比不同树莓派型号的性能差异,提供实用的配置方案和代码示例,帮助开发者快速实现高效的边缘计算视觉系统。特别推荐使用ONNX格式进行模型转换,以提升在树莓派上的推理效率。

weixin_29046035的博客 1063

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

重点在supplier part是立创商城的编号,可以搜到。

2301_80397661的博客 3261

Java:字符串/数字左右填充“0”

4、自定义方法 append拼接。0代表前面要补的字符。d表示参数为整数类型。

一些平时在开发过程中遇到的常见问题,分享给大家 1722

4G LTE 与 5G 无线网络规划对比:从 BBU/RRU 到 CU/DU/AAU 的架构演进解析

本文深度解析4G LTE与5G无线网络架构的演进差异,从BBU/RRU分立式架构到CU/DU/AAU三级重构,揭示移动通信代际跃迁的技术本质。重点对比了网络规划中的覆盖能力、容量规划、传输网络等九大维度,为通信工程师提供实用的技术对照手册,助力5G网络高效部署。

weixin_32821533的博客 287

蓝桥旧题_数字填充问题

问题:方格填数 如下的10个格子 ±-±-±-+ | | | | ±-±-±-±-+ | | | | | ±-±-±-±-+ | | | | ±-±-±-+ 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 思考:方格填数问...

k_ys的博客 285

Scipy优化踩坑实录:trust-constr和SLSQP约束定义到底差在哪?

本文深入解析了Scipy优化模块中trust-constr和SLSQP两种方法在约束定义上的差异。通过对比面向对象的trust-constr和字典式定义的SLSQP,揭示了它们各自的优势与适用场景,帮助开发者在有约束优化问题中选择合适的算法,提升计算效率与准确性。

weixin_42573113的博客 271

miRNA测序数据生信分析——第一讲,总结概述

这里的miRNA测序指转录水平的测序。这里每一个数据库都可以在线访问,但是如果要本地使用,都需要进行数据库文件下载,整理。

weixin_44616693的博客 4951

java 保留字符串数字的位数,不够前面补0

@Test public void test() { this.printToConsole(autoGenericCode("10011")); this.printToConsole(autoGenericCode("000",3)); } /** * 不够位数的在前面补0,保留code的长度位数字 ...

weixin_33971977的博客 1875

置顶必读(2) |《滚雪球学数学建模》专栏目录 & 历年国赛/美赛真题库 & 真题解析(持续更新中)

本专栏《滚雪球学数学建模》采用“从零开始、逐步滚雪球”的学习路径,把数学建模的基础理论、方法工具与大量实战真题(尤其是国赛题,涵盖2025-1992所有真题)有机融合,形成一套系统化训练路线。非常适合零基础入门、希望提升模型与工程化能力的本科/研究生,以及备战全国大学生数学建模竞赛(国赛/省赛)的同学。加油,我们一起把建模能力打造成可迁移的核心竞争力!

**My Coding Family** 26万+

四川大学线下编程比赛第一题:数字填充

四川大学线下编程比赛第一题:数字填充 发布公司: 有 效 期: 优快云 2014-09-27至2015-09-26 难 度 等 级: 答 题 时 长: 编程语言要求: 120分钟 C C++ Java C# 题目详情 peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则

Jinbao 1764

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

优快云 四川大学线下编程比赛第一题:数字填充

四川大学线下编程比赛第一题:数字填充 发布公司: 有 效 期: 优快云 2014-09-27至2015-09-26 难 度 等 级: 答 题 时 长: 编程语言要求: 120分钟 C C++ Java C# 题目详情 peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则是在一个N*N的表格里

youngkl博客 1168

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java 填充字符串,填充数字,直到字符串是在java中8个字符长?

i was reading and couldn't find quite the snippet. I am looking for a function that takes in a string and left pads zeros (0) until the entire string is 8 digits long. All the other snippets i find on...

weixin_36025345的博客 414

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java补充0 java数字左侧补零补0 NumberFormat实现数字左侧补0

java补充0 java数字左侧补零补0 NumberFormat实现数字左侧补0 一、提出需求 1、在做一个编号生成规则中,有个规则如下: 编码序号为 5 位数,不足部分左侧补0。 二、代码实现 1、使用 java.text.NumberFormat 实现 /** * description: 格式化数字,实现左侧补 0. * @param num 格式...

HaHa_Sir的博客 2万+

java在数字前面自动补零的方法

/**   * 将元数据前补零,补后的总长度为指定的长度,以字符串的形式返回   * @param sourceDate   * @param formatLength   * @return 重组后的数据   */   public static String frontCompWithZore(int sourceDate,int formatLength)   {   /*

quanquan_i的专栏 2700

java 一个数字的位数不够怎么在前面加0

import java.text.DecimalFormat; //(1)、如果数字1是字符串,如下处理: String str1="1"; DecimalFormat df=new DecimalFormat("0000"); String str2=df.format(Integer.parseInt(str1)); System.out.println

u012626724的博客 1万+

数字转字符串补零

Java实现数字转化成字符串左边自动补零方法1. Java 中给数字左边补02.(个人以为该方法简单有效,但经试验似乎String.format()函数有问题) 1. Java 中给数字左边补0 import java.text.NumberFormat; public class NumberFormatTest { public static void main(String[] args) { //待测试数据 int i = 1; //得到一

whk_15502266662的博客 1477

java数字转换为字符串,长度不够前面补0

1、 第一种字符串补0public static String addZeroForNum(String str, int strLength) {    int strLen = str.length();    StringBuffer sb = null;     while (strLen &lt; strLength) {           sb = new StringBuffer(...

zjxbllg2008的专栏 1万+

Java数字转字符串自动补0的实现

int n = 19; //%0代表前面补充0, 4代表长度为4, d代表参数为十进制整数 String str = String.format("%04d", n); System.out.println(str); //0019

斌斌(Java) 3753
下一篇: 欢迎使用优快云-markdown编辑器
act262
博客等级 码龄15年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值