Cod sursa(job #938764)

Utilizator mihai_tMihai Teletin mihai_t Data 13 aprilie 2013 19:51:26
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <iostream>
using namespace std;

int n,m;
long c,maxim=-1000000;
long a[16][16];
int s[32];
ofstream g;
void afm()
{
    for (int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
            cout<<a[i][j]<<" ";
            cout<<"\n";
    }
    cout<<"\n";
}
void cit()
{
    ifstream f;
    f.open("flip.in");
    f>>n>>m;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            f>>a[i][j];
    }
    f.close();
}
void sol()
{
    long long sm=0;
    int i,j;
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        if ((s[i+1]==0 && s[n+j+1]==0) || (s[i+1]==1 && s[n+j+1]==1)) sm+=a[i][j];
                    else sm-=a[i][j];
    }
    if (sm>maxim) maxim=sm;
}
void bkt(int k)
{
    for (int i=0;i<=1;i++)
    {
        s[k]=i;
        if (k==n+m) sol();
        else bkt(k+1);
    }
}
int main()
{
    cit();
    g.open("flip.out");
    bkt(1);
    g<<maxim;
    g.close();
    return 0;
}