求调 ARC184A 玄关
  • 板块学术版
  • 楼主tzzl3035
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/22 22:02
  • 上次更新2024/9/23 12:55:16
查看原帖
求调 ARC184A 玄关
1030559
tzzl3035楼主2024/9/22 22:02

rt

#include <bits/stdc++.h>
int a[1000003] = {0};
int main()
{
  // std::ios::sync_with_stdio(0);
  // std::cin.tie(nullptr);

  int n, m, q;
  std::cin >> n >> m >> q;
  std::set<int> ans;
  for(int i = 1; i <= 1000; i += 20)
  {
    std::set<int> same, diff;
    same.insert(i);
    for(int j = i+1; j <= i+19; ++j)
    {
      int res;
      std::cout.tie(nullptr);
      std::cout << "? " << i << ' ' << j << '\n';
      std::cin >> res;
      if(res == -1) exit(0);
      if(res) diff.insert(j);
      else same.insert(j);
    }
    if(same.size() >= 10)
    {
      for(int tmp: diff) 
        ans.insert(tmp);
    }
    else 
    {
      for(int tmp: same) 
        ans.insert(tmp);
    }
    if(ans.size() == m) 
      break;
  }
  std::cout << '!';
  for(int tmp: ans) 
    std::cout << ' ' << tmp;
  std::cout << '\n';

  return 0;
}

AC 18 / WA 32

2024/9/22 22:02
加载中...