Pagini recente » Cod sursa (job #1542931) | Cod sursa (job #1575693) | Cod sursa (job #3037911) | Cod sursa (job #1512559) | Cod sursa (job #1815115)
#include <cstdio>
using namespace std;
FILE *f, *g;
int n, m, mx, a[17][17], col[17], lin[17], s, bkStk[33], k;
void readFile()
{
f = fopen("flip.in", "r");
fscanf(f, "%d%d", &n, &m);
int i, j;
for(i = 1; i <= n; i ++)
{
for(j = 1; j <= m; j ++)
fscanf(f, "%d", &a[i][j]), col[j] += a[i][j], lin[i] += a[i][j], s += a[i][j];
}
fclose(f);
}
void sol()
{
int i;
int rez = s;
for(i = 1; i <= n; i ++)
{
rez -= 2 * (lin[i]) * (bkStk[i] - 1);
}
for(i = n + 1; i <= m + n; i ++)
{
rez -= 2 * (col[i - n]) * (bkStk[i] - 1);
}
if(rez > mx)
mx = rez;
}
void solve()
{
g = fopen("flip.out", "w");
int k = 1, i;
mx = s;
while(k != 0)
{
if(bkStk[k] < 2)
{
bkStk[k] ++;
if(k == n + m)
sol();
else
{
k ++;
bkStk[k] = 0;
}
}
else
k --;
}
}
void printFile()
{
fprintf(g, "%d\n", mx);
fclose(g);
}
int main()
{
readFile();
solve();
printFile();
return 0;
}