ABC 244 C - Yamanote Line Game (交互题)

https://atcoder.jp/contests/abc244/tasks/abc244_c

题目大意:
有两个人,分别叫做A B。

给定一个数字,A先手,每个人可以从[1,2*n+1]这个范围内说出一个数字,说不出的人就输;
我们可以知道,A定是会赢的,所以,一旦当B说出了0的时候,就表示游戏结束。

让我们跟机器模拟一下这个随机过程。

这是碰到的第三次交互题了,虽然过题人数4000+,而且也很简单,但是还是不大清楚格式,直接tle半小时

  • cout代表我们自己出数据
  • cin代表机器出数据
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const int N=200200,M=2002;
int vis[N],ans;
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
	int n;
	cin>>n;
	
	int i=1;
	vis[i]=1;
	cout<<1<<endl;//因为是我先出,所以我可以直接先出一个1
	
	while(1)
    {
        cin>>ans;//他对我的1(其他数字)表示回应
        vis[ans]=1;
        if(ans==0) return 0;
        
        for(int j=1;j<=2*n+1;j++)//控制在可控的范围内
        {
            if(vis[j]==0)
            {
                vis[j]=1;
                cout<<j<<endl;//我接着出下一个没有出现过的数字
                break;
            }
        }
    }
	return 0;
}
posted @ 2022-09-27 16:40  Vijurria  阅读(48)  评论(0编辑  收藏  举报