Cod sursa(job #2221668)
Utilizator | chowchow racheriunicolae | Data | 15 iulie 2018 14:16:46 |
---|---|---|---|
Problema | Jocul Flip | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.02 kb |
#include <bits/stdc++.h>
using namespace std;
int n,m,a[20][20],lin[20],col[20],i,j,ans,ok;
int main()
{
ifstream fin("flip.in");
ofstream fout("flip.out");
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
fin>> a[i][j];
lin[i] += a[i][j];
col[j] += a[i][j];
ans += a[i][j];
}
ok = 1;
while(ok)
{
ok = 0;
for(i=1;i<=n;i++)
{
if( ans - 2* lin[i] > ans)
{
lin[i] = -lin[i];
ans += 2* lin[i];
for(j=1;j<=m;j++)
col[j] -= 2* a[i][j];
ok++;
}
}
for(j=1;j<=m;j++)
{
if(ans - 2* col[j] > ans)
{
col[j] = -col[j];
ans += 2*col[j];
for(i=1;i<=n;i++)
lin[i] -= 2*a[i][j];
ok++;
}
}
}
fout << ans <<"\n";
return 0;
}