Pagini recente » Borderou de evaluare (job #832665) | Istoria paginii utilizator/2jordane3291yb5 | Cod sursa (job #800261)
Cod sursa(job #800261)
#include<fstream>
#include<string.h>
using namespace std;
int n, m, i, j, p, v[17], a[17][17], b[17][17], s, maxim, sum;
int main(){
ifstream cin("flip.in");
ofstream cout("flip.out");
cin>>n>>m;
for(i=1; i<=n; i++){
for(j=1; j<=m; j++){
cin>>a[i][j];
}
}
//memcpy(b,a,sizeof(a));
p=1;
for(i=1; i<=n; i++)
p*=2;
for(i=0; i<=p; i++){
j=m;
while(v[j]==1){
v[j]=0;
j--;
}
v[j]=1;
memcpy(b,a,sizeof(a));
for(j=1; j<=m; j++){
if(v[j]==1){
//interschimbam val de pe coloana j
for(i=1; i<=n; i++){
b[i][j]=-b[i][j];
}
}
}
sum = 0;
for(i=1; i<=n; i++){
s = 0;
for(j=1; j<=m; j++){
s+=b[i][j];
}
if (s>0)
sum += s;
else
sum -= s;
}
if(sum>maxim){
maxim=sum;
}
}
cout<<maxim;
return 0;
}