Cod sursa(job #1608108)

Utilizator CodrinsahCotarlan Codrin Codrinsah Data 21 februarie 2016 20:35:02
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
using namespace std;
ifstream fi ("flip.in");
ofstream fo ("flip.out");
int a[20][20],b[20][20],i[20],nl,nc,l,c,k,maxi;
//
void restaurare()
{
  for (l=1;l<=nl;l++)
    for (c=1;c<=nc;c++) b[l][c]=a[l][c];
}
//
void verif()
{
  int st=0;
  int s=0;
  restaurare();
  for (c=1;c<=nc;c++)
    if (i[c]==1) for (l=1;l<=nl;l++) b[l][c]*=-1;
  for (l=1;l<=nl;l++)
  {
    for (c=1;c<=nc;c++) s+=b[l][c];
    if (s<0) s*=-1;
    st+=s;
    s=0;
  }
  if (st>maxi) maxi=st;
//  for (l=1;l<=k;l++) fo<<i[l];
//  fo<<'\n';
//  for (l=1;l<=nl;l++)
//  {for (c=1;c<=nc;c++) fo<<b[l][c]<<' ';fo<<'\n';}
//  fo<<st;
//  fo<<'\n'<<'\n';
}
//
void bt()
{
  int j;
  k++;
  for (i[k]=0;i[k]<=1;i[k]++)
  {
    if (k==nc) verif();
    else bt();
  }
  k--;
}
//
int main()
{
    fi>>nl>>nc;
    for (l=1;l<=nl;l++)
      for (c=1;c<=nc;c++) fi>>a[l][c];
    bt();
    fo<<maxi;
    return 0;
}