Pagini recente » Cod sursa (job #2962724) | Cod sursa (job #2174734) | Cod sursa (job #719425) | Cod sursa (job #3037518) | Cod sursa (job #768726)
Cod sursa(job #768726)
#include<fstream>
#include<math.h>
using namespace std;
#define MAXN 18
long a[MAXN][MAXN];
int n,m,i,j, st[MAXN], smax=0;
void back(int);
void back(int k){
if (k>n)
{ int suma=0, sl=0,i,j;
for (j=1;j<=m;j++,suma+=abs(sl))
for (i=1,sl=0;i<=n;i++)
if (st[i]==1) sl-=a[i][j];
else sl+=a[i][j];
if (suma>smax) smax=suma;} else
{ st[k]=0;
back(k+1);
st[k]=1;
back(k+1);}
}
int main(){
ifstream f1("flip.in");
ofstream f2("flip.out");
f1>>n>>m;
for (i=1;i<=n; i++)
for (j=1; j<=m; j++)
f1>>a[i][j];
f1.close();
back(1);
f2<<smax;
f2.close();
return 0; }