Cod sursa(job #833649)

Utilizator DorelBarbuBarbu Dorel DorelBarbu Data 12 decembrie 2012 21:07:55
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[17],a[17][17], n,m,ans;
ifstream in("flip.in");
ofstream out("flip.out");
void read_data()
{
    int i,j;
    in>>n>>m;
    for(i=1; i<=n; i++)
    for(j=1; j<=m; j++)
    in>>a[i][j];
}
int summation()
{
    int current_sum=0, total_sum=0,i,j;
    for(i=1; i<=n; i++)
    {
        current_sum=0;
        for(j=1; j<=m; j++)
        current_sum+=a[i][j]*v[j];
        if(current_sum<0) current_sum*=(-1);
        total_sum+=current_sum;
    }
    return total_sum;
}

void write()
{
    int i;
    for(i=1; i<=m; i++)
    cout<<v[i]<<' ';
    cout<<endl;
}
void backtracking(int k)
{
    if(k==m+1)
    {
        int s=summation();
        if(s>ans) ans=s;
    }
    else
    {
        v[k]=-3;
        while(v[k]<1)
        {
            v[k]+=2;
            backtracking(k+1);
        }
    }
}
int main()
{
    read_data();
    backtracking(1);
    out<<ans;
    return 0;
}