Pagini recente » Cod sursa (job #41260) | Cod sursa (job #2728762) | Cod sursa (job #1074325) | Cod sursa (job #166215) | Cod sursa (job #833649)
Cod sursa(job #833649)
#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;
}