Cod sursa(job #1283471)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 5 decembrie 2014 19:04:35
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <set>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <utility>
#include <string>
#include <cstring>
#include <cctype>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <limits>
#include <sstream>
#include <deque>
#include <bitset>
#include <complex>
#include <functional>
#include <memory>
#include <numeric>
#define x first
#define y second
typedef std::pair<int, int> pii;

using namespace std;
int n, m,x[20][20], v[20], smax = 0, fl = 0, f = 0, sum = 0;
void back(int k)
{
	if(k == m + 1)
	{
		fl = 0;
		for(int i = 0; i < n; i++)
		{
			sum = 0;
			for(int j = 0; j < m; j++)
				if(v[j] == 2)
					sum += x[i][j];
				else
					sum -= x[i][j];
			if(sum < 0)
				fl -= sum;
			else
				fl += sum;
			smax = max(smax, fl);
		}
	}
	else
		for(int i = 1; i <= 2; i++)
		{
			v[k] = i;
			back(k + 1);
		}
}
int main () {
	ifstream fin("flip.in");
	ofstream fout("flip.out");
	fin >> n >> m;
	for(int i = 0; i < n; i++)
		for(int j = 0; j < m; j++)
			fin >> x[i][j];
	back(1);
	fout << smax;
	return 0;
}