Pagini recente » Cod sursa (job #317524) | Cod sursa (job #2472042) | Cod sursa (job #2886567) | Cod sursa (job #851755) | Cod sursa (job #682568)
Cod sursa(job #682568)
#include <iostream>
#include <fstream>
using namespace std;
int s,n,m;
long final,v[16][16],sol[2][16];
void suma()
{
int i,j;
s=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
if(sol[0][i]==1 && sol[1][j]==1) s=s+ v[i][j];
else if(sol[0][i]==1 || sol[1][j]==1) s=s+ v[i][j]*(-1);
else s=s+v[i][j];
}
if(final<s) final=s;
//cout<<s<<" ";
}
void back(int a, int b)
{
//if(a==n+1 && b==m+1)
suma();
if(a<n)
{
sol[0][a]=1;
back(a+1,b);
if(b<m)
{
sol[1][b]=1;
back(a,b+1);
sol[1][b]=0;
back(a,b+1);
}
sol[0][a]=0;
back(a+1,b);
}
}
int main()
{
int i,j;
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
f>>v[i][j];
f.close();
back(0,0);
g<<final;
g.close();
return 0;
}