A1124 Raffle for Weibo Followers (20分)

一、技术总结

  1. 这一题就是简单按题目要求变成输出即可
  2. 就是抽奖,给出抽奖人数,然后间隔人数,以及开始中奖人的下标;如果参与抽奖的人转发不止一次,中奖后,再次中奖跳过该人,继续抽,如果开始抽奖人的下标大于参与抽奖的人数,输出Keep going...
  3. 还有一点需要注意的是,使用string类型的变量,只能使用cin和cout,不能够使用scanf和printf。

二、参考代码

#include<iostream>
#include<string>
#include<set>
using namespace std;
set<string> sname;
string name[1010];
int main(){
	int m, n, s;
	scanf("%d%d%d", &m, &n, &s);
	for(int i = 1; i <= m; i++){
//		scanf("%s", name[i]);
		cin >> name[i];
	}
	if(m < s) printf("Keep going...");
	else{
		int i = s;
		while(i <= m){
			if(i != s && sname.find(name[i]) != sname.end()){
				i += 1;
				continue;
			}
//			printf("%s\n", name[i]);
			cout << name[i] << endl;
			sname.insert(name[i]);
			i += n;
		}
	}
	return 0;
}
posted @ 2020-06-06 21:12  睿晞  阅读(121)  评论(0编辑  收藏  举报