Pagini recente » Cod sursa (job #655446) | Cod sursa (job #988436) | Cod sursa (job #1192657) | Cod sursa (job #1943319) | Cod sursa (job #369708)
Cod sursa(job #369708)
#include<fstream>
using namespace std;
int main()
{
int a[17][17];
int i,j,n,m;
ifstream fin("flip.in");
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
fin.close();
int s=0,s1=0;
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
if(a[i][j]<0)s+=a[i][j];
else s1+=a[i][j];
s*=-1;
if(s>s1)
for(i=1;i<=n;i++)
a[i][j]*=-1;
s=0;s1=0;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(a[i][j]<0)s+=a[i][j];
else s1+=a[i][j];
s*=-1;
if(s>s1)
for(j=1;j<=m;j++)
a[i][j]*=-1;
s=0;s1=0;
}
int suma=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
suma+=a[i][j];
//parcurg invers
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(a[i][j]<0)s+=a[i][j];
else s1+=a[i][j];
s*=-1;
if(s>s1)
for(j=1;j<=m;j++)
a[i][j]*=-1;
s=0;s1=0;
}
s=0,s1=0;
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
if(a[i][j]<0)s+=a[i][j];
else s1+=a[i][j];
s*=-1;
if(s>s1)
for(i=1;i<=n;i++)
a[i][j]*=-1;
s=0;s1=0;
}
int suma1=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
suma1+=a[i][j];
FILE *fout=fopen("flip.out","w");
if(suma1>suma)
fprintf(fout,"%d",suma1);
else fprintf(fout,"%d",suma);
return 0;
}