Pagini recente » Cod sursa (job #1548439) | Cod sursa (job #1978419) | Cod sursa (job #830059) | Cod sursa (job #2971292) | Cod sursa (job #492362)
Cod sursa(job #492362)
#include <fstream>
using namespace std;
int m,n,maxim;
int **v;
bool a[17];
ifstream in("flip.in");
ofstream out("flip.out");
void scout()
{
int k=0,s,i,j;
for (i=1;i<=n;i++)
{
s=0;
for (j=1;j<=m;j++)
if (a[j])
s+=v[i][j];
else
s-=v[i][j];
if (s>0)
k+=s;
else
k-=s;
}
if (k>maxim)
maxim=k;
}
void bkt(int p)
{
if (p==m+1)
{
scout();
return;
}
a[p]=false;
bkt(p+1);
a[p]=true;
bkt(p+1);
}
int main()
{
int i,j;
in>>n>>m;
v = new int*[17];
for (i=0;i<17;i++)
v[i] = new int[17];
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
in>>v[i][j];
bkt(1);
out<<maxim<<"\n";
return 0;
}
/*
#include <stdio.h>
int **a, **b;
void af(int **a, int n, int m) {
for (int i=1;i<=n;i++) {
for (int j=1;j<=m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
}
int n, m, i, j;
int main(){
FILE *f = fopen("in.in","r");
fscanf(f,"%d %d",&n, &m);
a = new int*[50];
for (i=0;i<50;i++)
a[i] = new int[100];
b = new int*[50];
for (i=0;i<50;i++)
b[i] = new int[100];
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
fscanf(f,"%d",&a[i][j]);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
fscanf(f,"%d",&b[i][j]);
fclose(f);
af(a, n, m);
af(b, n, m);
return 0;
}
*/