Pagini recente » Cod sursa (job #2237602) | Cod sursa (job #2170476) | Cod sursa (job #710965) | Cod sursa (job #2898720) | Cod sursa (job #1666440)
#include "fstream"
using namespace std;
int n,m;
int **p;
int *v;
int maxMat=0;
int sum();
void backtrack(int k);
int main(){
ifstream in;
in.open("flip.in");
in>>n>>m;
p=new int*[n];
for(int i=0;i<n;i++){ //citire
p[i]=new int[m];
for(int j=0;j<m;j++){
in>>p[i][j];
}
}
in.close();
v=new int[m];
backtrack(0);
ofstream off;
off.open("flip.out");
off<<maxMat;
off.close();
return 0;
}
void backtrack(int k){
if(k==m){
int s1=sum();
if(maxMat<s1){
maxMat=s1;
}
}else{
v[k]=1;
for(int i=0;i<=1;i++){
v[k]*=-1;
backtrack(k+1);
}
}
}
int sum(){
int sum=0;
for(int i=0;i<n;i++){
int aux=0;
for(int j=0;j<m;j++){
aux+=p[i][j]*v[j];
}
if(aux<0){
aux*=-1;
}
sum+=aux;
}
return sum;
}