Cod sursa(job #564869)

Utilizator demolatorIonascu Razvan Sorinel demolator Data 27 martie 2011 12:04:31
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream.h>
ifstream f("flip.in");
ofstream g("flip.out");
int n,st[3],a[1000][17],sm[1000][3],k,m,s1,s,s2,i,j;
int succ(int k)
{if(k==1)
  {if(st[k]<n)
     {st[k]++; return  1;} else return 0;}
  else
    if(k==2)
      if(st[k]<m)
       {st[k]++; return 1;} else return 0;}
void back(int k, int &s)
{if(k==3){s1=s2;s1=s1-2*(sm[st[1]][1]+sm[st[2]][2]-a[st[1]][st[2]]); if(s1>s)s=s1;}
else
{st[k]=0; while(succ(k))back(k+1,s);}}
int main()
{f>>n>>m;
for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
    { f>>a[i][j]; sm[i][1]=sm[i][1]+a[i][j]; sm[j][2]=sm[j][2]+a[i][j];}
for(i=1;i<=n;i++)
s2=s2+sm[i][1];
back(1,s);
g<<s;
f.close();
g.close();
return 0;}