Pagini recente » Cod sursa (job #1796678) | Cod sursa (job #3210714) | Cod sursa (job #822844) | Cod sursa (job #2797528) | Cod sursa (job #889945)
Cod sursa(job #889945)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ofstream g("flip.out",ios::out);
int N,M,maxi=0;
vector<vector<int> > A;
int a[50];
int Check()
{int s=0,suma=0;
for(int i=0;i<N;i++)
{s=0;
for(int j=0;j<M;j++)
s+=A[i][j]*a[j];
if(s<0)
s=-s;
suma=s+suma;
}
if(suma>maxi) return suma;
return maxi;}
void back(int k)
{if(k==M)
{maxi=Check();}
else{
a[k]=1;
back(k+1);
a[k]=-1;
back(k+1);}}
int main()
{ifstream f("flip.in",ios::in);
int i,j,k;
vector<int> aux;
f>>N>>M;
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
{f>>k;
aux.push_back(k);}
A.push_back(aux);
aux.clear();}
back(0);
g<<maxi<<'\n';
f.close();
g.close();
return 0;
}