Cod sursa(job #1097056)
Utilizator | Data | 2 februarie 2014 21:49:59 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
#define MAX -256000001
using namespace std;
int n,m,v[20];
long a[20][20],t=MAX,i,j;
void back(int k){
if(k>n)
{ long x,s;
for(i=1,x=0;i<=n;i++)
{
for(j=1,s=0;j<=m;j++)
s+=a[i][j]*v[j];
x+=(s>0)?s:-s;
}
if(x>t) t=x;
}
else{
v[k]=1;
back(k+1);
v[k]=-1;
back(k+1);
}
}
int main(){
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f.close();
back(1);
g<<t;
g.close();
}