Pagini recente » Cod sursa (job #2932564) | Cod sursa (job #3195055) | Cod sursa (job #1895789) | Cod sursa (job #1289699) | Cod sursa (job #553440)
Cod sursa(job #553440)
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int a[17][17],s[17],n,m,stot,smax;
void citire()
{
int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
f>>a[i][j];
s[i]=s[i]+a[i][j];
}
}
}
void coloane()
{
int i,j,s1;
for(j=1;j<=m;j++)
{
s1=0;
for(i=1;i<=n;i++)
s1=s1+a[i][j];
if(s1<0){s1=-s1;
for(i=1;i<=n;i++)
a[i][j]=-a[i][j];
}
stot+=s1;
}
}
void submultimi()
{
int i,nr,x,k,stot1;
nr=1<<m;smax=stot;
for(i=1;i<=nr;i++)
{
stot1=stot;
x=i;k=1;
while(x!=0)
{
if(x%2==1)
stot1=stot1-2*s[k];
x=x/2;k=k+1;
}
if(stot1>smax) smax=stot1;
}
}
int main()
{
citire();
coloane();
submultimi();
g<<smax;
return 0;
}