Pagini recente » Cod sursa (job #929879) | Cod sursa (job #1748227) | Cod sursa (job #3222591) | Cod sursa (job #1375268) | Cod sursa (job #77700)
Cod sursa(job #77700)
#include <stdio.h>
#include <math>
int Tabla[16][16], Tabla2[16][16], n, m;
void Csere(int j)
{
int i;
for (i = 0; i < m; ++i)
Tabla2[i][j] = Tabla[i][j] * (-1);
}
int Sum()
{
int i, j, r, r1;
r = 0;
for (i = 0; i < m; ++i)
{
r1 = 0;
for (j = 0; j < n; ++j)
r1 += Tabla2[j][i];
r += abs(r1);
}
return(r);
}
int main()
{
int i, j, k = 0, v[16], r = 0, r1 = 0, ok = 0;
FILE *f;
f = fopen("flip.in", "rt");
fscanf(f,"%d %d\n", &n, &m);
for (i = 0; i < n; ++i)
for (j = 0; j < m; ++j)
{
fscanf(f, "%d ", &Tabla[i][j]);
Tabla2[i][j] = Tabla[i][j];
}
fclose(f);
v[k] = -1;
while (k > -1)
{
ok = 0;
while (ok != 1 && v[k] < 1)
{
ok = 1;
++v[k];
}
if (ok)
if (k == n - 1)
{
for (i = 0; i < k; ++i)
if (v[i] == 1)
Csere(i);
r1 = Sum();
if (r1 > r) r = r1;
}
else
{
++k;
v[k] = -1;
}
else
--k;
}
f = fopen("flip.out", "wr");
fprintf(f, "%d", r);
fclose(f);
return(0);
}