题意:水题,直接贴代码了。(为什么我第一遍做的时候代码写的那么烦?)
代码:
#include <iostream> #include <string> #include <vector> #include <map> #include <fstream> using namespace std; int main() { //ifstream cin("pat.txt"); int forwardCnt,step,start; cin>>forwardCnt>>step>>start; string name; vector<string> vec(forwardCnt),win; map<string,int> mp;//标记已获奖的人 int skip=step; for(int i=0;i<forwardCnt;i++) cin>>vec[i]; if(start>vec.size()) cout<<"Keep going..."; else{ int i=start-1;//从第一个中奖者开始 while(i<vec.size()){ string query=vec[i]; if(mp[query]==0){//该用户在此前还没有获过奖 win.push_back(query); mp[query]=1; i+=step; }else{ i++; } } for(auto it:win)//可以用C++11,方便 cout<<it<<‘\n‘; } return 0; }
原文地址:https://www.cnblogs.com/kkmjy/p/9538875.html
时间: 2024-10-01 22:03:55