Cod sursa(job #350129)
Utilizator | Data | 22 septembrie 2009 19:56:42 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.64 kb |
#include<fstream>
using namespace std;
long a[17][17],n,m,i,j,slinem[17],scolm[17],x,mincol,minline,flipcol,flipline,sfinal;
int main ()
{
ifstream fin("flip.in");
ofstream fout("flip.out");
fin>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
fin>>a[i][j];
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
{
if(a[i][j]>0)
slinem[i]+=a[i][j];
if(a[i][j]<0)
{
x=a[i][j];
x*=-1;
slinem[i]+=x;
}
}
if(minline==0||minline>slinem[i])
{
minline=slinem[i];
flipline=i;
}
}
for(j=1;j<=m;++j)
{
for(i=1;i<=n;++i)
{
if(a[j][i]>0)
scolm[j]+=a[i][j];
if(a[j][i]<0)
{
x=a[i][j];
x*=-1;
scolm[j]+=x;
}
}
if(mincol==0||mincol>scolm[j])
{
mincol=scolm[j];
flipcol=j;
}
}
i=1;
for(j=flipcol;i<=n;++i)
a[i][j]*=-1;
j=1;
for(i=flipline;j<=m;++j)
a[i][j]*=-1;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
sfinal+=a[i][j];
fout<<sfinal;
fin.close();
fout.close();
return 0;
}