zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    常见设计模式,总结的不错(转)
    mysql查询当前时间,一天内,一周,一个月内的sql语句
    PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第一组(转)
    金融IC卡 ARQC和ARPC计算方法和实例(转)
    如何解决结果由block返回情况下的同步问题(转)
    linux进程编程:子进程创建及执行函数简介
    exec函数族实例解析
    C语言中system()函数的用法总结(转)
    关于JSPatch热修复
    做个这样的APP要多久?[转]
  • 原文地址:https://www.cnblogs.com/jackge/p/3220894.html
Copyright © 2011-2022 走看看