Pagini recente » Cod sursa (job #1283051) | Cod sursa (job #1575178) | Cod sursa (job #1592694) | Cod sursa (job #277825) | Cod sursa (job #159075)
Cod sursa(job #159075)
#include <fstream>
using namespace std;
ifstream f ("flip.in");
ofstream g ("flip.out");
long v[1000][16], n, m, sl[1000], sc[16];
void read()
{ f >> n;
f >> m;
for (int i=0 ; i<n; i++)
for (int j=0; j<m; j++)
f >> v[i][j];
}
void change()
{ int s=0, k=1;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{ sl[i]=sl[i]+v[i][j];
sc[j]=sc[j]+v[i][j];
}
while (k!=0)
{
k=0;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{ sl[i]=0;
sc[j]=0;
}
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
sc[j]=sc[j]+v[i][j];
for (int j=0; j<m; j++)
while (sc[j]<0)
{ for (int i=0; i<n; i++)
v[i][j]*=-1;
sc[j]*=-1;
k++;
}
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
sl[i]=sl[i]+v[i][j];
for (int i=0; i<n; i++)
while (sl[i]<0)
{ for (int j=0; j<m; j++)
v[i][j]*=-1;
sl[i]*=-1;
k++;
}
}
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
s=s+v[i][j];
g << s;
}
int main()
{ read();
change();
f.close();
g.close();
return 0;
}