Pagini recente » Cod sursa (job #1468996) | Cod sursa (job #2715456) | Cod sursa (job #1740219) | Cod sursa (job #2569954) | Cod sursa (job #670357)
Cod sursa(job #670357)
#include <stdio.h>
FILE *f,*g;
int v[20][20],b[80],s,max,s1,s2,k[20][20];
unsigned short int n,m,i,j;
void back(int pk){
if(pk==n+1){ for(int j=1; j<=m; j++){s=0;
for(int i=1; i<=n; i++) s+=v[i][j]*b[i];
if(s<0)b[j+n]=-1;else b[j+n]=1;
}
s=0;for(i=1; i<=n; i++)for(j=1; j<=m; j++)s+=v[i][j]*b[i]*b[j+n];
max=(max<s)?s:max;}
else{
s1=0,s2=0;
pk++;
b[pk-1]=-1;
back(pk);
b[pk-1]=1;
back(pk);
pk--;
}
}
int main(){
f=fopen("flip.in","r");
g=fopen("flip.out","w+");
fscanf(f,"%d%d",&n,&m);
for(i=1; i<=n; i++)
for(j=1; j<=m; j++) fscanf(f,"%d",v[i][j]);
back(1);
fprintf(g,"%d",max);
return 0;
}