Pagini recente » Cod sursa (job #477589) | Profil Jackstil | Cod sursa (job #201235) | Cod sursa (job #83653) | Cod sursa (job #1001076)
#include <fstream>
#define IN "flip.in"
#define OUT "flip.out"
using namespace std;
ifstream in(IN);
ofstream out(OUT);
int a[17][17], n, m, s, sol[17];
inline void back(int k);
inline int max(int a, int b)
{
if(a>b)
return a;
return b;
}
int main()
{
in>>n>>m;
int i, j;
for(i=1; i<=n; ++i)
for(j=1; j<=m; ++j)
in>>a[i][j];
back(1);
out<<s<<'\n';
in.close();
out.close();
return 0;
}
inline void back(int k)
{
if(k==n+1)
{
int s_tot=0;
int s_lin;
for(int i=1; i<=m; ++i)
{
s_lin=0;
for(int j=1; j<=n; ++j)
s_lin+=sol[j]*a[j][i];
s_tot+=max(s_lin, -s_lin);
}
if(s<s_tot)
s=s_tot;
}
else
{
for(int i=-1; i<=1; i+=2)
{
sol[k]=i;
back(k+1);
}
}
}