Pagini recente » Cod sursa (job #1246642) | Istoria paginii runda/iconcurs10/clasament | Cod sursa (job #1314456) | Cod sursa (job #709544) | Cod sursa (job #164074)
Cod sursa(job #164074)
#include<fstream.h>
int n, m, l[17], c[17], v[33];
unsigned long a[17][17];
void citire()
{
int i, j;
ifstream fin("flip.in");
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
}
int suma()
{
int i, j, s=0;
for(i=1;i<=n;i++)
{
l[i]=0;
for(j=1;j<=m;j++)
l[i]=l[i]+a[i][j];
}
for(i=1;i<=m;i++)
{
c[i]=0;
for(j=1;j<=n;j++)
c[i]=c[i]+a[j][i];
}
for(i=1;i<=n;i++)
s=s+l[i];
return s;
}
void main()
{
int p=1, s, max=0, ss, i;
citire();
ss=suma();
ofstream fout("flip.out");
while(p)
{
p=0;
for(i=n+m;i>=1;i--)
if(v[i]==0)
{
v[i]=1;
p=i;
break;
}
for(i=p+1;i<=n+m;i++)
v[i]=0;
s=ss;
for(i=1;i<=n;i++)
if(v[i]==1)
s=s-2*l[i];
for(i=n+1;i<=n+m;i++)
if(v[i]==1)
s=s-2*c[i-n];
if(s>max)
max=s;
}
fout<<max;
}