#include using namespace std; typedef array< array, 24> Matrix; int n; int f[24][24]; int solve(int cur, Matrix used) { if (cur == n) return 0; int res = 0; for (int i = 0; i < n; i++) { if (i == cur || used[cur][i]) continue; Matrix nex(used); for (int j = 0; j < n; j++) { nex[cur][j] = true; nex[j][cur] = true; nex[i][j] = true; nex[j][i] = true; } res = max(res, solve(cur + 1, nex) + f[cur][i]); } if (res == 0) return solve(cur + 1, used); return res; } int main() { cin.tie(0); ios::sync_with_stdio(false); cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> f[i][j]; } } Matrix used{}; cout << solve(0, used) << endl; return 0; }