Codeforces 679A 交互题入门

it2022-05-05  220

题目传送门

大概的意思是说,系统生成了个数,你需要在20次询问内给出这个数是质数还是合数。每次询问一个数,它会回答这个数是不是它的因数。

把{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,4,9,25,49}存起来,然后一个个问就行。

注意C++的交互题每次输出后都得加fflush(stdout);

#include <bits/stdc++.h> using namespace std; int prime[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,4,9,25,49}; int main(){ int cnt=0; for (int i=0;i<19;i++){ cout<<prime[i]<<endl; fflush(stdout); string s; cin>>s; if (s=="yes") cnt++; } if (cnt>1) cout<<"composite"<<endl;else cout<<"prime"<<endl; fflush(stdout); return 0; }

感谢李教练提供的模板题!


最新回复(0)