Pagini recente » Cod sursa (job #612707) | Cod sursa (job #2325382) | Cod sursa (job #215498) | Cod sursa (job #1338103) | Cod sursa (job #507818)
Cod sursa(job #507818)
#include <fstream>
#define IN_FILE "flip.in"
#define OUT_FILE "flip.out"
using namespace std;
fstream fin (IN_FILE, ios::in);
fstream fout (OUT_FILE, ios::out);
long N,M,A[20][20],S[20],rez,i,j;
long genl (long);// functia de backtracking linii
int main ()
{
fin>>N>>M;
for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
fin>>A[i][j];
genl(0);
fout<<rez;
return 0;
}
long genl (long k)
{
if(k==N)
{
int sum=0,sc[20],i,j;
for(i=1;i<=M;i++)
sc[i]=0;
for (i=1;i<=N;i++){
for(j=1;j<=M;j++)
sc[j]+=A[i][j]*S[i];}
for(j=1;j<=M;j++)
if(sc[j]<0) sum+=-sc[j];
else sum+=sc[j];
if(sum>rez) rez=sum;
}
else
{
k++;
S[k]=-1;
genl(k);
S[k]=1;
genl (k);
}
}