Uva 11470 - Square Sums

#include<bits/stdc++.h>
using namespace std;

int ar[11][11],r[25];

int main()
{
    int n,tc=0;
    while(cin >> n)
    {
        if(!n)
        {
            break;
        }

        int i,j,rlen=0;

        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                cin >> ar[i][j];
            }
        }

        int up=0,right=0,left=0,bottom=0,p=n-1,t=n,dv,d=n-t;

        if(n&1)
        {
            dv=(n/2)+1;
        }
        else
        {
            dv=n/2;
        }

        while(d != dv)
        {
            for(i=0;i<n;i++)
            {
                up+=ar[d][i];
                ar[d][i]=0;

                left+=ar[i][d];
                ar[i][d]=0;

                right+=ar[i][p];
                ar[i][p] =0;

                left+=ar[p][i];
                ar[p][i]=0;
            }

            r[rlen++]=up+right+left+bottom;

            up=0;right=0;left=0;bottom=0;

            t--;
            d=n-t;
            p--;
        }

        cout << "Case " << ++tc << ": ";

        bool f=false;

        for(i=0;i<rlen;i++)
        {
            if(!f)
            {
                cout << r[i];
                f=true;
            }
            else
            {
                cout << " " << r[i];
            }
        }

        cout << "\n";
    }

    return 0;
}

Comments

Popular posts from this blog

SPOJ-CMG - Collecting Mango

LightOJ 1009 - Back to Underworld

LeetCode Palindrome Number