Pagini recente » Cod sursa (job #702779) | Cod sursa (job #1791106) | Cod sursa (job #338175) | Cod sursa (job #1778827) | Cod sursa (job #721053)
Cod sursa(job #721053)
#include <cstdio>
const int NMax= 17;
int v[NMax][NMax],pm[NMax],smax = -1,n,m;
FILE *in,*out;
void citire () {
in = fopen ("flip.in", "r");
out = fopen ("flip.out","w");
fscanf (in,"%d%d", &n,&m);
for (int i=1,j=1;i<=n;fscanf (in,"%d",v+i*NMax +j),i=(j==m)?i+1:i,j=(j==m)?1:j+1);
}
void procesare () {
int sl = 0;
for (int i = 1; i <= N; ++i) {
int sc = 0;
for (int j = 1; j <= M; ++j) {
sc += **(v+i*NMax+j) * *(pm + j);
}
sl += (sc > -sc ? sc : -sc);
}
smax = smax > sl ? smax : sl;
}
void bkt (int *v) {
if (v == pm + m + 1) {
procesare();
return;
}
*v = 1;
bkt(v+1);
*v = -1;
bkt(v+1);
}
void scriere () {
fprintf (out,"%d",smax);
fclose(in);
fclose(out);
}
int main () {
citire ();
bkt (pm + 1);
scriere();
return 0;
}