Pagini recente » Cod sursa (job #1166614) | Cod sursa (job #1146670) | Cod sursa (job #2002248) | Atasamentele paginii Clasament wellcodesimulareav-10martie | Cod sursa (job #1552889)
#include <cstdio>
using namespace std;
int s,retine;
int n,m,st[35],mx;
int a[17][17],alt[17][17];
void verificare(){
for(int i = 1; i <= n; i++){
if(st[i] == 1){
for(int j = 1; j <= m; j++){
alt[i][j] = -a[i][j];
}
}
}
for(int i = n + 1; i <= n + m; i++){
if(st[i] == 1){
for(int j = 1; j <= n; j++){
alt[j][i - n] = -a[j][i - n];
}
}
}
int sum = 0;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
sum += alt[i][j];
}
}
if(sum > mx){
mx = sum;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
alt[i][j] = a[i][j];
}
}
}
void back(int k){
for(int i = 0; i <= 1; i++){
st[k] = i;
if(k <= n + m){
if(k == n + m)
verificare();
else
back(k + 1);
}
}
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
scanf("%d",&a[i][j]);
s += a[i][j];
}
}
retine = s;
back(1);
printf("%d",mx);
return 0;
}