Submission #1263630

#TimeUsernameProblemLanguageResultExecution timeMemory
1263630rtriThe Xana coup (BOI21_xanadu)C++20
5 / 100
1096 ms6212 KiB
#include <bits/stdc++.h>
using namespace std;

int n;
vector<vector<int>> adj;
vector<int> cameras;

int main() {
  cin >> n;

  adj.resize(n);
  for (int i = 0; i < n - 1; i++) {
    int a, b;
    cin >> a >> b;
    a--;
    b--;
    adj[a].push_back(b);
    adj[b].push_back(a);
  }

  cameras.resize(n);
  int def = 0;
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    cameras[i] = a;
    if (a)
      def |= 1 << i;
  }

  int ans = 1e9;
  int sol = 0;
  for (int mask = 0; mask < pow(2, n); mask++) {
    int curr = def;
    int count = 0;
    for (int i = 0; i < n; i++) {
      if (1 & (mask >> i)) {
        count++;
        curr ^= 1 << i;
        for (int u : adj[i])
          curr ^= 1 << u;
      }
    }
    if (curr == 0 && count < ans) {
      ans = count;
      sol = mask;
    }
  }

  if (ans == 1e9)
    cout << "impossible" << endl;
  else
    cout << ans << endl;

  fprintf(stderr, "sol %b\n", sol);

  return 0;
}

Compilation message (stderr)

xanadu.cpp: In function 'int main()':
xanadu.cpp:55:25: warning: unknown conversion type character 'b' in format [-Wformat=]
   55 |   fprintf(stderr, "sol %b\n", sol);
      |                         ^
xanadu.cpp:55:19: warning: too many arguments for format [-Wformat-extra-args]
   55 |   fprintf(stderr, "sol %b\n", sol);
      |                   ^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...