Cod sursa(job #2074233)
Utilizator | iulius alexandru iulius510 | Data | 24 noiembrie 2017 11:41:20 |
---|---|---|---|
Problema | Jocul Flip | Scor | 30 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main()
{
int n,m,i,j,maxi=0,a[17][17];
int c;
long long x;
FILE *f,*g;
f=fopen("flip.in","r");
g=fopen("flip.out","w");
fscanf (f,"%d",&n);
fscanf (f,"%d",&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf(f,"%d",&a[i][j]);
c=1;
x=1ll<<(n+m);
while(c<=x)
{
float S=0;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
S+=((-2)*((c&(1<<i))>>i+((c&(1<<(n+j)))>>(n+j))%2)+1)*a[i][j];
c=c+1;
if(S>maxi)
maxi=S;
}
fprintf(g,"%d",maxi);
return 0;
}