Pagini recente » Cod sursa (job #2944814) | Cod sursa (job #223400) | Cod sursa (job #845038) | Cod sursa (job #971421) | Cod sursa (job #97320)
Cod sursa(job #97320)
#include<fstream.h>
#define I "flip.in"
#define O "flip.out"
int n,m,maxx,st[100],a[16][16];
void init(int k)
{
st[k]=-1;
}
int succ(int k)
{
if(st[k]<st[k-1]+1){
st[k]=st[k]+1;return 1;
}
return 0;
}
int valid(int k)
{
return 1;
}
int sol(int k)
{
return k==n;
}
void tipar(){
int max=0,i,j,s=0;
for(i=1;i<=n;i++)
if(st[i]==0)
for(j=1;j<=m;j++)
a[i][j]*=-1;
for(i=1;i<=n;++i){
for(j=1;j<=m;++j)
s=s+a[j][i];
if(s<0)
for(j=1;j<=m;++j){
a[j][i]*=-1;max+=a[j][i];
}
else
max+=s;
s=0;
}
if(max>maxx)
maxx=max;
}
void bkt(int k){
init(k);
while(succ(k))
if(valid(k))
if(sol(k))
tipar();
else
bkt(k+1);
}
int main()
{
ifstream f(I);
ofstream g(O);
f>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
f>>a[i][j];
bkt(1);
g<<maxx;
f.close();
g.close();
return 0;
}