Pagini recente » Cod sursa (job #3230864) | Cod sursa (job #228727) | Arhiva de probleme | Cod sursa (job #1350239) | Cod sursa (job #1290044)
#include<fstream>
#define INF 1000000
using namespace std;
int N,M;
int F[16][16],P[16],S[16];
int MAX,sum;
ifstream cin("flip.in");
ofstream cout("flip.out");
//contor pe biti
void ink() {
int j=0;
while(P[j]==1)
{
P[j]=0;
j++;
}
P[j]=1;
}
int putere(int n,int m)
{
int p=1;
while(m--)
p*=n;
return p;
}
void flip(){
int i,j,k,p;
MAX=-INF;
p=putere(2,M);
for(k=0;k<p-1;k++)
{
sum=0;
for(i=0;i<N;i++)
S[i]=0;
for(i=0; i<N; i++)
{
for(j=0; j<M; j++)
{
if(P[j])
S[i]-=F[i][j];
else
S[i]+=F[i][j];
}
if(S[i]>0)
sum+=S[i];
else
sum-=S[i];
}
if(sum>MAX)
MAX=sum;
ink();
}
}
int main(){
int i,j;
cin>>N>>M;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
cin>>F[i][j];
flip();
cout<<MAX;
return 0;
}