Submission #1206531

#TimeUsernameProblemLanguageResultExecution timeMemory
1206531avighnaCOVID tests (CEOI24_covid)C++20
29.94 / 100
885 ms436 KiB
#include <bits/stdc++.h>

int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);

  int n, t;
  double p;
  std::cin >> n >> p >> t;

  while (t--) {
    if (p >= 0.15) {
      std::string ans(n, '0');
      for (int i = 0; i < n; ++i) {
        std::string q(n, '0');
        for (int j = 0; j < n; ++j) {
          q[j] = '0' + (i == j);
        }
        std::cout << "Q " << q << std::endl;
        char c;
        std::cin >> c;
        ans[i] = '0' + (c == 'P');
      }
      std::cout << "A " << ans << std::endl;
    } else {
      std::string ans(n, '0');
      for (int i = 0; i < n; ++i) {
        auto idx =
            *std::ranges::partition_point(std::views::iota(i, n), [&](int j) {
              std::string q(n, '0');
              for (int idx = i; idx <= j; ++idx) {
                q[idx] = '1';
              }
              std::cout << "Q " << q << std::endl;
              char c;
              std::cin >> c;
              return c == 'N';
            });
        if (idx < n) {
          ans[idx] = '1';
        }
        i = idx;
      }
      std::cout << "A " << ans << std::endl;
    }
    char c;
    std::cin >> c;
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...