Pagini recente » Cod sursa (job #883749) | Cod sursa (job #1472293) | Cod sursa (job #2223715) | Cod sursa (job #2979591) | Cod sursa (job #1596755)
#include<fstream>
using namespace std;
int n,v[17],a[17][17],nr, S, m, mx;
ifstream f("flip.in");
ofstream g("flip.out");
struct suma{
int lin, col;
}x, sum[17], mn;
void make_sum(int k)
{
x.lin = x.col = 0;
for(int i = 1; i <= k; i++){
x.lin += sum[v[i]].lin;
x.col += sum[v[i]].col;
}
if(x.lin < mn.lin) mn.lin = x.lin;
if(x.col < mn.col) mn.col = x.col;
}
void permut(int k, int N)
{
while (k > 0)
{
if(v[k] < N)
{
v[k]++;
make_sum(k);
k++;
v[k] = v[k - 1];
}
else k--;
}
}
int main()
{
f >> n >> m;
mn.lin = mn.col = int(2e9);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++) {
f >> a[i][j];
sum[i].lin += a[i][j];
sum[j].col += a[i][j];
S+= a[i][j];
}
permut(1, max(n, m));
g << S - mn.lin - mn.col + (mn.lin + mn.col) * (-1);
return 0;
}