这道题有3个测试点是以间隔三命题的,别问我怎么知道的…
#include <stdio.h>
#include <map>
#include <iostream>
#include <vector>
using namespace std;
const int maxv=1010;
string list[maxv];
map<string,int> mp;
vector<string> win;
int main(){
int m,n,s;
scanf("%d %d %d",&m,&n,&s);
for(int i=1;i<=m;i++){
cin>>list[i];
}
for(int i=s;i<=m;i=i+n){
if(mp[list[i]]==0){
win.push_back(list[i]);
mp[list[i]]++;
}else{
i=i+1;
while(i<=m){
if(mp[list[i]]==0){
win.push_back(list[i]);
mp[list[i]]++;
break;
}
i++;
}
}
}
if(win.size()==0){
printf("Keep going...");
}else{
for(int i=0;i<win.size();i++){
cout<<win[i]<<endl;
}
}
return 0;
}