Cod sursa(job #113674)
Utilizator | Data | 10 decembrie 2007 23:28:34 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.97 kb |
#include<fstream.h>
ifstream f("flip.in");
ofstream g("flip.out");
long int a[17][17],s,s1,s2,s3,s4;
int n,m;
int main()
{
int i,j,k,l;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
f>>a[i][j];
s+=a[i][j];
}
s4=s;
s2=s;
s1=s;
for(l=1;l<=n;l++)
{
s2=s4;
s1=s4;
i=l;
do
{
for(j=1;j<=m;j++)
{
s1-=a[i][j];
s1+=-a[i][j];
}
if(s1>s)
{
s=s1;
for(j=1;j<=m;j++)
a[i][j]*=-1;
}
else s1=s;
j=i;
for(k=1;k<=n;k++)
{
s1-=a[k][j];
s1+=-a[k][j];
}
if(s1>s)
{
s=s1;
for(k=1;k<=n;k++)
a[k][j]*=-1;
}
else s1=s;
i++;
}
while(i<=n);
}
s3=s1;
s1=s2;
s=s2;
for(l=1;l<=m;l++)
{
s1=s4;
s=s4;
j=l;
do
{
for(i=1;i<=n;i++)
{
s1-=a[i][j];
s1+=-a[i][j];
}
if(s1>s)
{
s=s1;
for(i=1;i<=n;i++)
a[i][j]*=-1;
}
else s1=s;
i=j;
for(k=1;k<=m;k++)
{
s1-=a[i][k];
s1+=-a[i][k];
}
if(s1>s)
{
s=s1;
for(k=1;k<=m;k++)
a[i][k]*=-1;
}
else s1=s;
j++;
}
while(j<=m);
}
if(s3<s1) g<<s1;
else g<<s3;
f.close();
g.close();
}