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;
}
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
Post a Comment