Pagini recente » Cod sursa (job #3275769) | Cod sursa (job #1356694) | Cod sursa (job #2986728) | Cod sursa (job #2335870) | Cod sursa (job #503625)
Cod sursa(job #503625)
#include<fstream>
#define maxn 20
using namespace std;
int s[2*maxn], m, n, a[maxn][maxn], e[2*maxn];
long long maxim;
ofstream g("flip.out");
void back(int k) {
for (int i = s[k-1]+1; i <= m+n; i++) {
s[k] = i;
e[i] = -1;
long long matrix = 0;
for (int j = 1; j <= n; j++)
for (int l = 1; l <= m; l++) {
matrix = matrix + a[j][l]*e[j]*e[n+l];
}
if (matrix > maxim)
maxim = matrix;
if (k < n+m)
back(k+1);
e[i] = 1;
}
}
int main() {
ifstream f("flip.in");
f >> n >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
f >> a[i][j];
for (int i = 1; i <= n+m; i++)
e[i] = 1;
back(1);
g << maxim << '\n';
return 0;
}