Pagini recente » Cod sursa (job #276657) | Arhiva de probleme | Cod sursa (job #264505) | Cod sursa (job #495594) | Cod sursa (job #148955)
Cod sursa(job #148955)
#include<fstream>
using namespace std;
long long mat[20][20];
int m, n; // m-coloane, n-linii
int st[20];
long long smax;
void back(int k)
{ int i,j;
if(k==n) // actualizez suma
{ int s,sl;
for(i=0,s=0;i<n;i++)
{ for(j=0,sl=0;j<m;j++)
sl+=mat[i][j]*st[j];
s+=(sl>0)?sl:-sl;
}
if(s>smax) smax=s;
} else
{ st[k]=1;
back(k+1);
st[k]=-1;
back(k+1);
}
}
int main()
{ int i,j;
ifstream fin("flip.in");
ofstream fout("flip.out");
fin>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
fin>>mat[i][j];
back(0);
fout<<smax;
fin.close(); fout.close();
return 0;
}