Cod sursa(job #1522273)

Utilizator vladbatalanBatalan Vlad vladbatalan Data 11 noiembrie 2015 14:49:11
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int a[20][20],n,m,i,j,s[20],bst=-1000000000,sl,sm;
void bkt(int c);
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            f>>a[i][j];
    if(n<m)
    {
        i=n;n=m;m=i;
        for(i=1;i<17;i++)
            for(j=i+1;j<17;j++)
        {sl=a[i][j];a[i][j]=a[j][i];a[j][i]=sl;}
    }
    s[m]=1;bkt(1);
    g<<bst;
    return 0;
}
void bkt(int c)
{
    if(c==m)
    {
        for(sm=0,i=1;i<=n;i++)
        {
            for(sl=0,j=1;j<=m;j++)
                sl+=s[j]*a[i][j];
            sl=sl<0?-sl:sl;
            sm+=sl;
        }
        bst=sm>bst?sm:bst;
        return;
    }
    s[c]=1;bkt(c+1);
    s[c]=-1;bkt(c+1);
}