Pagini recente » Cod sursa (job #737623) | Monitorul de evaluare | Cod sursa (job #142773) | Cod sursa (job #2752742) | Cod sursa (job #2923903)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,A[16][16];
int nr[2];
int k = 0;
int k2 = 0;
int maxy=0;
void back2(int k, int A[16][16]){
for(int i = 0; i<=1; i++){
for(int j = 0; j<m; j++){
A[k][j]*=nr[i];
}
if(k+1<n){
back2(k+1, A);
}else{
int s=0;
for(int in=0; in<n; in++){
for(int im=0; im<m; im++){
s+=A[in][im];
}
}
maxy=max(maxy,s);
}
}
}
void back(int k, int A[16][16]){
for(int i = 0; i<=1; i++){
for(int j = 0; j<n; j++){
A[j][k]*=nr[i];
}
if(k+1<m){
back(k+1, A);
}else{
back2(k2, A);
}
}
}
int main() {
nr[0]=1;
nr[1]=-1;
fin>>n>>m;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
fin>>A[i][j];
}
}
int k = 0;
back(k, A);
fout<<maxy;
}