Cod sursa(job #2628832)

Utilizator Leonard123Mirt Leonard Leonard123 Data 17 iunie 2020 17:40:54
Problema Jocul Flip Scor 40
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.84 kb
#include<fstream>
using namespace std;
int n,m,joc[20][20],suma,rez=-1000000000;

ifstream cin("flip.in");
ofstream cout("flip.out");


void solve(){
	for(int i=0; i<(1<<n); i++){
		for(int j=0; j<n; j++)
			if((1<<j)&i)
				for(int k=1; k<=m; k++)
					joc[j+1][k]*=-1;
		for(int x=0; x<(1<<m); x++){
			for(int y=0; y<m; y++)
				if((1<<y)&x)
					for(int k=1; k<=n; k++)
						joc[k][y+1]*=-1;
	     		 suma=0;
               		 for(int i=1; i<=n; i++)
	 			for(int j=1; j<=m; j++)
					suma+=joc[i][j];
			if(suma>rez)
				rez=suma;

			for(int y=0; y<m; y++)
				if((1<<y)&x)
					for(int k=1; k<=n; k++)
						joc[k][y+1]*=-1;
		}
		
			for(int j=0; j<n; j++)
				if((1<<j)&i)
					for(int k=1; k<m; k++)
						joc[j+1][k]*=-1;
	}
}

int main(){
	cin>>n>>m;
	for(int i=1; i<=n; i++)
		for(int j=1; j<=m; j++)
			cin>>joc[i][j];
	solve();
	cout<<rez;
}