题目描述
blablabla
样例
#include<iostream>
#include<string>
#include<unordered_set>
using namespace std;
const int N = 1010;
unordered_set<string> name_set;
string strs[N];
int main(){
int m, n, s;
cin >> m >> n >> s;
for(int i = 1; i <= m; i++) cin >> strs[i];
while(s <= m){
auto name = strs[s]; // 通过取出第一个用户来
// 如果这个名字没有被输出过,并且中奖了,用 n+=s来使跳过操作不需要而外判断
if(!name_set.count(name)){
cout << name << endl;
name_set.insert(name);
s += n;//接下来跳过s个用户
}else s++;//如果当前用户已经中奖了, 则跳过他
}
if(name_set.empty()) cout << "Keep going..."<<endl;// 如果没有用户中过奖
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla