Pagini recente » Cod sursa (job #2857013) | Cod sursa (job #3145470) | Cod sursa (job #2895777) | Cod sursa (job #582961) | Cod sursa (job #1956215)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[17][17],v[17];
int suma_maxima=INT_MIN;
void calculeaza(){
int suma=0;
for(int j=1;j<=m;j++)
{
int suma_j=0;
for(int i=1;i<=n;i++) suma_j+=a[i][j]*v[i];
suma+=max(suma_j,suma_j*-1);
}
suma_maxima=max(suma_maxima,suma);
}
void backtracking(int k){
if(k>n) calculeaza(); else
{
v[k]=1;
backtracking(k+1);
v[k]=-1;
backtracking(k+1);
}
}
int main(){
f>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) f>>a[i][j];
backtracking(1);
g<<suma_maxima; f.close(); g.close();
return 0;
}