Cod sursa(job #1596988)

Utilizator TimoteiCopaciu Timotei Timotei Data 11 februarie 2016 16:21:30
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
#include <cmath>
using namespace std;
int n, v[17], a[17][17], S, m, mx, s[17], sum;
ifstream f("flip.in");
ofstream g("flip.out");
void make_sum(int k)
{    sum = 0;
    for(int j = 1; j <= m; j++){
      S = 0;
    for(int i = 1; i <= k; i++) S+= a[v[i]][j];
    sum+= abs(s[j] - 2 * S);
    }
    mx = max(mx, sum);
}
void permut(int k)
{
    while (k > 1)
    {
        if(v[k] < n)
        {
            v[k]++;
            make_sum(k);
            k++;
            v[k] = v[k - 1];
        }
        else k--;
    }
}
int main()
{

    f >> n >> m;
    for(int i = 1; i <= n; i++)
    for(int j = 1; j <= m; j++) {
            f >> a[i][j];
            s[j] += a[i][j];
            mx += a[i][j];
            }
    v[1] = v[2] = 1;
    make_sum(1);
    permut(2);
    g << mx;

    return 0;
}