Cod sursa(job #139197)

Utilizator nimeniaPaul Grigoras nimenia Data 19 februarie 2008 20:09:38
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream.h>

ifstream f("flip.in");
ofstream g("flip.out");

long sol[20],n,m,p,k,mat[20][20],s,smax;

void afisare();
void citire();
long suma_mat();

int main(){
	citire();
	k=1;
	while (k>0){
		if (sol[k]>1) sol[--k]++;
		else if (k<m) sol[++k]=0;
		else if (k==m){s=suma_mat();if (s>smax) smax=s;sol[k]++;}
	}
	g<<smax;
	g<<endl;
	f.close();
	g.close();
	return 0;
}

void afisare(){
	for (int i=1;i<=n;i++)
		g<<sol[i]<<" ";
	g<<endl;

}
void citire(){
	f>>n>>m;
	int i,j;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			f>>mat[i][j];

}

long suma_mat(){
	long j,s,st=0,semn;
	for (int i=0;i<n;i++) {
		s=0;
		for (int j=0;j<m;j++){
		  semn=(sol[j+1]==0?1:-1);
		  s+=semn*mat[i][j];
		}
		if (s<0) s*=(-1);
		st+=s;
	}
	return st;

}