Pagini recente » Cod sursa (job #3126610) | Clasament oji | Cod sursa (job #549436) | Cod sursa (job #535399) | Cod sursa (job #913062)
Cod sursa(job #913062)
#include <fstream>
#include <iostream>
using namespace std;
int n,m,v[17][17];
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
in >> n >> m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
in >> v[i][j];
int s=0,sAux,sc[17],sl[17];
for(int i=1;i<=n || i<=m;i++)
{
sl[i]=sc[i]=1;
}
do
{
sAux=s;
for(int i=1;i<=n;i++)
{
int s1=0,s2=0;
for(int j=1;j<=m;j++)
{
s1=s1+v[i][j]*sl[i]*sl[j];
s2=s2-v[i][j]*sl[i]*sl[j];
}
if(s1<s2)
{
s=s+s2;
}
else
{
sl[i]=-sl[i];
}
}
s=0;
for(int i=1;i<=m;i++)
{
int s1=0,s2=0;
for(int j=1;j<=n;j++)
{
s1=s1+v[j][i]*sl[j]*sl[i];
s2=s2-v[j][i]*sl[j]*sl[i];
}
if(s1<s2)
{
s=s+s2;
}
else
{
sc[i]=-sc[i];
s=s+s1;
}
}
int stop=1;
}while(s>sAux);
out << sAux << endl;
/*
cout << s << endl;
for(int i=1;i<=n;i++)
{
cout << sl[i] << ' ';
}
cout << endl;
for(int i=1;i<=m;i++)
{
cout << sc[i] << ' ';
}
*/
return 0;
}