Pagini recente » Cod sursa (job #2914251) | Cod sursa (job #421273) | Cod sursa (job #2655410) | Cod sursa (job #1821107) | Cod sursa (job #682591)
Cod sursa(job #682591)
#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 back2(int b)
{
if(b<m)
{
sol[1][b]=-1;
while(sol[1][b]<1)
{
sol[1][b]++;
back2(b+1);
suma();
}
}
}
void back(int a)
{
if(a<n)
{
sol[0][a]=-1;
while(sol[0][a]<1)
{
sol[0][a]++;
back(a+1);
back2(0);
}
}
}
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);
g<<final;
g.close();
return 0;
}