Pagini recente » Cod sursa (job #1560425) | Monitorul de evaluare | Cod sursa (job #2596856) | Cod sursa (job #54976) | Cod sursa (job #1727432)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[17][17],l[17],c[17],s,si,sf=0;
int main()
{
int ver,i,j;
f>>n>>m;
si=0;
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j<=m;j++)
{f>>a[i][j];
s=s+a[i][j];}
l[i]=s;}
int poz,mini;
for(i=1;i<=n;i++)
si=si+l[i];
ver=1;
while(ver==1)
{
mini=l[1];
poz=1;
for(i=2;i<=n;i++)
if(mini>l[i])
{ mini=l[i];
poz=i;}
l[poz]=l[poz]*(-1);
for(j=1;j<=m;j++)
a[poz][j]=a[poz][j]*(-1);
for(j=1;j<=m;j++)
{
s=0;
for(i=1;i<=n;i++)
s=s+a[i][j];
c[j]=s;
}
mini=c[1];
poz=1;
for(j=2;j<=m;j++)
if(mini>c[j])
{poz=j;
mini=c[j];}
c[poz]=c[poz]*(-1);
for(i=1;i<=n;i++)
a[i][poz]=a[i][poz]*(-1);
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j<=m;j++)
s=s+a[i][j];
l[i]=s;}
sf=0;
for(i=1;i<=n;i++)
sf=sf+l[i];
if(sf>si)
si=sf;
else if(si==sf)
ver=0;
else
ver=0;
}
g<<si;
f.close();
g.close();
return 0;
}