Pagini recente » Borderou de evaluare (job #1736256) | Borderou de evaluare (job #1854840) | Borderou de evaluare (job #2514744) | Borderou de evaluare (job #1962753) | Cod sursa (job #1779065)
#include <fstream>
using namespace std;
ifstream cin ("flip.in");
ofstream cout ("flip.out");
int x[100],a[100][100],n,m,v[100],maxim=0;
void read ()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
}
void solve_here_pro (int k)
{ int s=0,s1=0;
for(int i=1;i<=m;i++)
{ s=0;
for(int j=1;j<=n;j++)
{
if(v[j]!=0) s-=a[j][i]; else s+=a[j][i];
} if(s<0) s*=-1; s1+=s;
}
if(s1>maxim) maxim=s1;
}
void bkt ()
{
int k=1;
while(k>0)
{
if(x[k]<n)
{ x[k]++; v[x[k]]=1;
solve_here_pro(k);
k++; x[k]=x[k-1];
}
else k--,v[x[k]]=0;
}
}
void write ()
{
cout<<maxim;
}
int main()
{
read();
bkt();
write();
return 0;
}