achulkov2

Untitled

Sep 18th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     int n;
  8.     cin >> n;
  9.     vector<vector<int>> m(n, vector<int>(n));
  10.     for (int i = 0; i < n; ++i) {
  11.         for (int j = 0; j < n; ++j) {
  12.             cin >> m[i][j];
  13.         }
  14.     }
  15.     int best = 0;
  16.     int best_mask = 0;
  17.     for (int mask = 0; mask < (1 << n); ++mask) {
  18.         int res = 0;
  19.         for (int i = 0; i < n; ++i) {
  20.             for (int j = 0; j < i; ++j) {
  21.                 if (static_cast<bool>(mask & (1 << i)) != static_cast<bool>(mask & (1 << j))) {
  22.                     res += m[i][j];
  23.                 }
  24.             }
  25.         }
  26.         if (res > best) {
  27.             best = res;
  28.             best_mask = mask;
  29.         }
  30.     }
  31.     cout << best << "\n";
  32.     for (int i = 0; i < n; ++i) {
  33.         if (best_mask & (1 << i)) {
  34.             cout << "2 ";
  35.         } else {
  36.             cout << "1 ";
  37.         }
  38.     }
  39.     cout << "\n";
  40. }
Add Comment
Please, Sign In to add comment