• A. Candy Bags


    A. Candy Bags
     
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Gerald has n younger brothers and their number happens to be even. One day he bought n2 candy bags. One bag has one candy, one bag has two candies, one bag has three candies and so on. In fact, for each integer k from 1 to n2 he has exactly one bag with kcandies.

    Help him give n bags of candies to each brother so that all brothers got the same number of candies.

    Input

    The single line contains a single integer n (n is even, 2 ≤ n ≤ 100) — the number of Gerald's brothers.

    Output

    Let's assume that Gerald indexes his brothers with numbers from 1 to n. You need to print n lines, on the i-th line print n integers — the numbers of candies in the bags for the i-th brother. Naturally, all these numbers should be distinct and be within limits from 1 to n2. You can print the numbers in the lines in any order.

    It is guaranteed that the solution exists at the given limits.

    Sample test(s)
    input
    2
    output
    1 4
    2 3
    Note

    The sample shows Gerald's actions if he has two brothers. In this case, his bags contain 1, 2, 3 and 4 candies. He can give the bags with 1 and 4 candies to one brother and the bags with 2 and 3 to the other brother.

    输入2时:

    输出:(每行的和为 5 )

    1  4

    2  3

    输入4时:

    输出:(每行的和为 34 )

    1  16  2  15

    3  14  4  13

    5  12  6  11

    7  10  8  9

    输入6时:

    输出:(每行的和为 101 )

    1  36  2  35  3  34

    4  33  5  32  6  31

    7  30  8  29  9  28

    10  27  11  26  12  25

    13  24  14  23  15  22

    16  21  17  20  18  19

    相信你已经看出规律来了,代码如下:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    
    using namespace std;
    
    
    int main() {
    
        //freopen("input.txt","r",stdin);
        //freopen("output.txt","w",stdout);
    
        int n;
        while(~scanf("%d",&n)){
            for(int i=0;i<n;i++){
                for(int j=1;j<=n/2;j++)
                    printf("%d %d ",i*(n/2)+j,n*n-(i*(n/2)+j)+1);
                printf("
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    知道这几 个正则表达式,能让你少写 1,000 行代码
    移除手机端a标签点击自动出现的边框和背景
    CSS 元素垂直居中的 6种方法
    当文本超出时出现省略号
    css清除select的下拉箭头样式
    设置透明边框
    js 输出语句document.write()及动态改变元素中内容innerHTML的使用
    LOCAL_EXPORT_××用法
    sprd测试系统跑vts
    C++ const用法
  • 原文地址:https://www.cnblogs.com/jackge/p/3220894.html
Copyright © 2020-2023  润新知