Pagini recente » Cod sursa (job #1031155) | Cod sursa (job #810465) | Cod sursa (job #2331911) | Cod sursa (job #2378217) | Cod sursa (job #1276297)
#include <stdio.h>
FILE *fin, *fout;
int m, n, sum, sum1, max;
bool *v;
unsigned int pt[18], temp;
int main()
{
fin = fopen("flip.in", "r");
fout = fopen("flip.out", "w");
pt[0] = 1;
for(int i = 1; i< 17; i++) pt[i] = pt[i-1]*2;
fscanf(fin, "%d%d", &n, &m);
v = new bool[n];
int arr[n][m];
for(int i =0; i< n; i++)
{
for(int j = 0; j< m; j++)
{
fscanf(fin, "%d", &arr[i][j]);
}
}
for(unsigned int i = 0; i< pt[n]; i++)
{
for(int j =0; j< n; j++) v[j] = 0;
temp = i;
for(int j = n-1; temp; j--)
{
v[j] = temp%2;
temp/=2;
}
sum1 = 0;
for(int j = 0; j< m; j++)
{
sum = 0;
for(int k = 0; k< n; k++)
{
sum+=(v[k])?arr[k][j]:0-arr[k][j];
}
sum1 += (sum>=0)?sum:0-sum;
}
max=(sum1 > max)?sum1:max;
}
fprintf(fout, "%d\n", max);
fclose(fin);
fclose(fout);
return 0;
}