测试点3,如果顺延了,下一个中奖的人的序号是顺延之后的序号再加上间隔的序号,总感觉这个逻辑有点离谱。。而且没有这个样例,是个坑点。
#include<iostream>
#include<map>
using namespace std;
map<string,int> mapp;
int main()
{
string str[1010];
int i,j;
int n,start,cut;
cin>>n>>cut>>start;
for(i=1;i<=n;i++)
{
cin>>str[i];
mapp[str[i]]=0;
}
i=start;
j=0;
if(i>n)cout<<"Keep going...";
while(i<=n)
{
if(mapp[str[i+j]]==0)
{
mapp[str[i+j]]++;
cout<<str[i+j]<<endl;
i=i+cut;
j=0;
}
else
{
j++;
}
if(i+j>n)break;
}
return 0;
}