Cod sursa(job #615926)

Utilizator dmandyPogurschi Andrei dmandy Data 11 octombrie 2011 12:51:54
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda info_20_b Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
int ln,col,val[16][16],aux[16], rez = 0;

void afisSolutia()
{
	int rez2=0,s=0;
	for(int j=0;j<col;++j) 
    {   
        s=0;
		for(int i=0;i<ln;++i)
		{
            s+=val[i][j]*aux[i];
        }
		if (s<0) s=(-s); 
		rez2+=s;
	}
	if (rez2>rez) rez=rez2; 
}

void backtrack (int k)
{
	if(k>=ln) afisSolutia();
	else 
    {
		aux[k] = -1;
		backtrack(k+1);
		aux[k] = 1;
		backtrack(k+1);
	}
}

int main()
{
ifstream f1 ("flip.in");
ofstream f2 ("flip.out");
if (f1.is_open())
{
    f1>>ln>>col;
    while (! f1.eof())
    { 
      for(int i=0;i<ln;++i)
      for(int j=0;j<col;++j)
      f1>>val[i][j];
    }
}
backtrack(0);
f2<<rez;
f1.close();
f2.close();      
return 0;
}