Cod sursa(job #2433687)
Utilizator | Data | 28 iunie 2019 16:28:29 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.65 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int main()
{
int n, m, v[17][17], si, sj, S, c, k;
cin>>n>>m;
k=0;
S=0;
c=0;
si=0;
sj=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>v[i][j];
}
}
while(k!=m)
{
k++;
c=0;
while(c!=n)
{
si=0;
int ok=0;
sj=0;
c++;
for(int j=1;j<=m;j++)
{
si+=v[c][j];
}
for(int i=1;i<=n;i++)
{
sj+=v[i][k];
}
if(si<0)
{
if(si+sj<sj-si)
{
for(int j=1;j<=m;j++)
{
v[c][j]=-v[c][j];
ok=1;
}
}
}
if(sj<0)
{
if(si+sj<-sj+si)
{
for(int i=1;i<c;i++)
{
v[i][k]=-v[i][k];
}
for(int i=c+1;i<=n;i++)
{
v[i][k]=-v[i][k];
}
if(ok==0)
{
v[c][k]=-v[c][k];
}
}
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
S+=v[i][j];
}
}
cout<<S;
return 0;
}