Cod sursa(job #1228043)

Utilizator flore77Simion Florentin flore77 Data 12 septembrie 2014 16:31:27
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
using namespace std;
long long l[33];
int a[17][17],n,m;

int main()
{int i,j,q;
long long suma=0;
ifstream f("flip.in");
f>>n>>m;

for(i=1;i<=n;i++)
     for(j=1;j<=m;j++)
     f>>a[i][j];

f.close();
for(i=1;i<=n;i++)
  {l[i]=0;
   for(j=1;j<=m;j++)
     l[i]+=a[i][j];
   }

for(j=1;j<=m;j++){l[n+j]=0;
   for(i=1;i<=n;i++)l[n+j]+=a[i][j];}
long long minim=0;
for(i=1;i<=n+m;i++)
   if(minim>l[i]){minim=l[i]; q=i;}

while(q){
  if(q<=n){ l[q]=-l[q];
 
             for (j=1;j<=m;j++) l[n+j]-=2*a[q][j];}
      else {l[q]=-l[q];
 
             for (i=1;i<=n;i++) l[i]-=2*a[i][q-n];}

  minim=0; q=0;
for(i=1;i<=n+m;i++)
   if(minim>l[i]){minim=l[i]; q=i;}
}


 for(i=1;i<=n;i++)
     
       suma+=l[i];
ofstream g("flip.out");
g<<suma;
g.close();
return 0;
}