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


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

    • 公布公司:
    • 有 效 期:
    • CSDN
    • 2014-09-272015-09-26
    • 难 度 等 级:
    • 答 题 时 长:
    • 编程语言要求:
    • 120分钟
    • C C++ Java C#
    题目详情

    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


    题解:直接模拟;

    #include <iostream>
    using namespace std;
    #define MAX 30+1
    int main(){
    	int n,map[MAX][MAX];
    	while (cin>>n){
    		int num=1;
    		for (int i=0;i<n;i++){
    			for (int j=i;j<n;j++)
    				map[i][j]=num++;
    			for (int k=i+1;k<n;k++)
    				map[k][i]=num++;
    		}
    		for (int i=0;i<n;i++){
    			for (int j=0;j<n-1;j++)
    				cout<<map[i][j]<<" ";
    			cout<<map[i][n-1]<<endl;
    		}
    			
    	}
    	return 0;
    }


  • 相关阅读:
    模板【洛谷P3368】 【模板】树状数组 2
    模板【洛谷P3812】 【模板】线性基
    Java面向对象-多态
    Java常用工具类
    Java常用工具类
    Java static关键字
    MyBatis对象关联查询demo (一对多,多对一)
    将Cmder添加到系统右键菜单中
    IDEA 创建JavaWeb应用打包并发布
    IDEA 调试与打包
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5054083.html
Copyright © 2020-2023  润新知