Pagini recente » Cod sursa (job #2601694) | Cod sursa (job #1210608) | Cod sursa (job #335365) | Cod sursa (job #2723106) | Cod sursa (job #51373)
Cod sursa(job #51373)
#include <stdio.h>
#include <fstream>
#include <iostream>
using namespace std;
ofstream f2("flip.out");
long a[17][17];
long long sl, sc, st;
int n, m;
long long sumalin(int x);
long long sumacol(int x);
int main()
{
FILE *f1;
int i, j, k;
bool stop, zero;
f1 = fopen("flip.in", "r");
fscanf(f1, "%d %d", &n, &m);
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
fscanf(f1, "%d", &a[i][j]);
//for (i=1; i<=n; i++)
// for (j=1; j<=m; j++)
// cout<<a[i][j]<<" ";
// cin>>i;
// return 0;
while (!stop) {
stop = true;
//cout<<endl<<endl<<endl;
for (i = 1; i <= n; i++){
for (j = 1; j <= m; j++) {
//cout<<a[i][j]<< " ";
sl = sumalin(i);
sc = sumacol(j);
st = sl + sc - 2 * a[i][j];
//cout<<sl<<" "<<st<<" "<<sc<<endl;
zero=false;
if (sl < 0 || sc < 0 || st < 0) {
zero = true;
stop = false;
}
cout<<zero;
if (sl < sc && sl < st && zero) for (k = 1; k <= m; k++) a[i][k]=0-a[i][k];
else if (sc < sl && sc < st && zero) for (k = 1; k <= n; k++) a[k][j]=0-a[k][j];
else if (zero){
for (k = 1; k <= n; k++) a[i][k]=-a[i][k];
for (k = 1; k <= m; k++) a[k][j]=-a[k][j];
}
}
//cout<<endl;
}
}
st = 0;
for (i = 1; i <= n; i++)
for (j = 1; j <=m; j++)
st+=a[i][j];
f2 << st <<endl;
//cin>>i;
f2.close();
fclose(f1);
return 0;
}
long long sumalin(int x)
{
long long aux;
int j;
aux = 0;
for (j = 1; j <= m; j++)
aux += a[x][j];
return aux;
}
long long sumacol(int x)
{
long long aux;
int i;
aux = 0;
for (i = 1; i <=n; i++)
aux += a[i][x];
return aux;
}