Pagini recente » Cod sursa (job #557417) | Cod sursa (job #2589674) | Cod sursa (job #1118410) | Istoria paginii runda/lol_asd/clasament | Cod sursa (job #2596253)
#include <iostream>
#include <fstream>
using namespace std;
void verif1(int a, int b, int c[16][16], int &k1, int &tot)
{
int i, j, s;
k1 = 0;
tot = 0;
for(i=1; i<=a; i++)
{
s = 0;
for(j=1; j<=b; j++)
s+=c[i][j];
if(s < 0)
{
k1 = 1;
for(j=1; j<=b; j++)
c[i][j] = -c[i][j];
tot+=-s;
}
else tot+=s;
}
}
void verif2(int a, int b, int c[16][16], int &k2, int &tot)
{
int i, j, s;
k2 = 0;
tot = 0;
for(i=1; i<=b; i++)
{
s = 0;
for(j=1; j<=a; j++)
s+=c[j][i];
if(s < 0)
{
k2 = 1;
for(j=1; j<=a; j++)
c[j][i] = -c[j][i];
tot+=-s;
}
else tot+=s;
}
}
int main()
{
ifstream fin("flip.in");
int n, m, i, j, v[16][16], t1 = 0, t2 = 0, ok1 = 1, ok2 = 1;
fin >> n >> m;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
fin >> v[i][j];
verif1(n, m, v, ok1, t1);
verif2(n, m, v, ok2, t2);
while (ok1 != 0 && ok2 != 0)
{
verif1(n, m, v, ok1, t1);
verif2(n, m, v, ok2, t2);
}
/*
for(i=1; i<=n; i++) //afisare
{
for(j=1; j<=m; j++)
fout << v[i][j] << ' ';
fout << "\n";
}
*/
ofstream fout("flip.out");
fout << t1;
fin.close() ;
fout.close() ;
return 0;
}