Pagini recente » Rezultatele filtrării | Cod sursa (job #1321459) | Rezultatele filtrării | Cod sursa (job #2342562) | Cod sursa (job #593400)
Cod sursa(job #593400)
#define _CRT_SECURE_NO_DEPRECATE
#define ms 16
#include <stdlib.h>
#include <stdio.h>
int static a[ms][ms],n,m,g[ms],s[ms],s1,s2;
void back(int k);
int main(int argc, char **argv, char **env)
{
FILE *fi = fopen("flip.in","r");
fscanf(fi,"%d%d",&n,&m);
//if (m<n)
/*{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
fscanf(fi,"%d",&a[j][i]);
}
n = m ^ n;
m = m ^ n;
n = m ^ n;
}*/
//else
//{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
fscanf(fi,"%d",&a[i][j]);
}
//}
fclose(fi);
s2=-((1<<31)-1);
back(0);
FILE *fo = fopen("flip.out","w");
fprintf(fo,"%d",s2);
fclose(fo);
return 0;
}
void check();
void back(int k)
{
int i;
for (i=0;i<2;i++)
{
g[k]=i;
if (k == n) check();
else back(k+1);
}
}
void check()
{
for (int j=0; j<m; j++)
s[j]=0;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{
if (g[i])
{
s[j]-=a[i][j];
}
else
{
s[j]+=a[i][j];
}
}
s1=0;
for (int j=0; j<m; j++)
if (s[j]>0)
{
s1+=s[j];
}
else
{
s1-=s[j];
}
if (s1>s2) s2=s1;
}