Nu aveti permisiuni pentru a descarca fisierul grader_test2.in

Cod sursa(job #167295)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 29 martie 2008 14:04:38
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
# include <stdio.h>
long int s,s1,s2,s3,s4,i,j,n,m,k,a[20][20],ok;
int main ()
{
freopen ("flip.in","r",stdin);
freopen ("flip.out","w",stdout);
scanf ("%li",&n);
scanf ("%li",&m);
for (i=0;i<n;i++)
for (j=0;j<m;j++)
scanf ("%li",&a[i][j]);
while (ok==0)
{ok=1;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{
s1=0;
s2=0;
s3=0;
s4=0;
if (a[i][j]<0)
{
for (k=0;k<m;k++)
{
s1=s1+a[i][k];
s2=s2+(a[i][k]*-1);
}
for (k=0;k<n;k++)
{
s3=s3+a[k][j];
s4=s4+(a[k][j]*-1);
}
if (s2>s1 && s4<s3)
{
for (k=0;k<m;k++)
a[i][k]=a[i][k]*-1;
ok=0;
}
if (s2<s1 && s4>s3)
{
for (k=0;k<n;k++)
a[k][j]=a[k][j]*-1;
ok=0;
}
if (s2>s1 && s4>s3)
if (s2>s4)
{
for (k=0;k<m;k++)
a[i][k]=a[i][k]*-1;
ok=0;
}
else
for (k=0;k<n;k++)
{
a[k][j]=a[k][j]*-1;
ok=0;
}
if ((s2>s1 && s4+a[i][j]>s3) || (s2+a[i][j]>s1 && s4>s3))
{
for (k=0;k<m;k++)
a[i][k]=a[i][k]*-1;
for (k=0;k<n;k++)
a[k][j]=a[k][j]*-1;
ok=0;
}
}
}
}
for (i=0;i<n;i++)
for (j=0;j<m;j++)
s=s+a[i][j];
printf ("%li",s);
return 0;
}