CodeForces 334A Candy Bags

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.
题意:给你一个数n,把1~n*n个数平分成n份,每份的和相同。

题解:假设n=3,3*3的矩阵可以表示为

1 2 3

4 5 6

7 8 9

平分的结果便是:{1,5,9},{2,6,7},{3,4,8},现将结果保存在二维数组里面再输出就可以了

#include
#include
using namespace std;
int b[10001];
int a[101][101];
int main()
{
   int n,l,r,mid;
   while(cin>>n)
   {
        int tmp=1;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
            {
                if(j==1)
                {
                    a[i][j]=i;
                    tmp=i;
                }
                else
                {
                    if(tmp%n!=0)
                    {
                        a[i][j]=tmp+n+1;
                        tmp=a[i][j];
                    }
                    else if(tmp%n==0)
                    {
                        a[i][j]=tmp+1;
                        tmp=a[i][j];
                    }
                }
            }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j



你可能感兴趣的:(acm_数论)