Cod sursa(job #413659)

Utilizator KosmynC64Munteanu Cosmin KosmynC64 Data 8 martie 2010 21:30:52
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<iostream.h>
#include<fstream.h>
#include<limits.h>
#define IN ifstream f("flip.in");
#define OUT ofstream g("flip.out");
#define INC f.close();
#define OUTC g.close();
int xx,yy,map[16][16];
int max;
bool flip[32];
int mmin(int a,int b){
	if(a<=b)return a;
	if(b<a)return b;}
int mmax(int a,int b){
	if(a>=b)return a;
	if(b>a)return b;}
int suma(){
	int sum=0;
	for(int y=0;y<yy;y++)
	for(int x=0;x<xx;x++)
		sum+=map[x][y]*(flip[x]*-1)*(flip[xx-1+y]*-1);
return sum;}
void rezolva(int i){
	int sum;
	if(i==xx*yy-1){
		sum=suma();
		if(max<sum)max=sum;}
	else{
		flip[i]=1;
		rezolva(i+1);
		flip[i]=0;
		rezolva(i+1);
}}
void citeste(){
	IN f>>yy>>xx;
	for(int y=0;y<yy;y++)
	for(int x=0;x<xx;x++)
	f>>map[x][y];INC}
int main(){
	citeste();
	rezolva(0);
	OUT g<<max;OUTC
return 0;}