Pagini recente » Cod sursa (job #1752346) | Cod sursa (job #2609744) | Cod sursa (job #1452125) | Cod sursa (job #1523104) | Cod sursa (job #682579)
Cod sursa(job #682579)
#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 && b==m) suma();
suma();
if(a<n)
{
sol[0][a]=-1;
while(sol[0][a]<1)
{
sol[0][a]++;
if(b<m)
{
sol[1][b]=-1;
while(sol[1][b]<1)
{
sol[1][b]++;
back(a,b+1);
}
}
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;
}