Cod sursa(job #1228105)

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

int main()
{int i,j,q=0;
int 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];}

int minim=l[1];

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

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

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



}
suma=0;
 for(i=1;i<=n;i++)
     
       suma+=l[i];

ofstream g("flip.out");
g<<suma;
g.close();
return 0;
}