习题:Enchanted Artifact
题目
思路
这,很巧妙
通过输出300个a和300个b就可以得到a和b的个数
进而可以得到总共的位数
之后一位一位的试就行了
代码
#include<iostream>
using namespace std;
int n=300;
int lena,lenb,ret,la;
string a="";
int main()
{
for(int i=1;i<=n;i++)
cout<<"a";
cout<<endl;
cin>>lena;
for(int i=1;i<=n;i++)
cout<<"b";
cout<<endl;
cin>>lenb;
lena=n-lena;
lenb=n-lenb;
n=lena+lenb;
la=lenb;
for(int i=1;i<=n;i++)
a+='a';
for(int i=0;i<n-1;i++)
{
a[i]='b';
cout<<a<<endl;
cin>>ret;
if(ret>la)
a[i]='a';
else
la=ret;
}
int s=0;
for(int i=0;i<n;i++)
if(a[i]=='a')
s++;
if(s>lena)
a[n-1]='b';
cout<<a<<endl;
return 0;
}

浙公网安备 33010602011771号