zoukankan      html  css  js  c++  java
  • A1124. Raffle for Weibo Followers

    John got a full mark on PAT. He was so happy that he decided to hold a raffle(抽奖) for his followers on Weibo -- that is, he would select winners from every N followers who forwarded his post, and give away gifts. Now you are supposed to help him generate the list of winners.

    Input Specification:

    Each input file contains one test case. For each case, the first line gives three positive integers M (<= 1000), N and S, being the total number of forwards, the skip number of winners, and the index of the first winner (the indices start from 1). Then M lines follow, each gives the nickname (a nonempty string of no more than 20 characters, with no white space or return) of a follower who has forwarded John's post.

    Note: it is possible that someone would forward more than once, but no one can win more than once. Hence if the current candidate of a winner has won before, we must skip him/her and consider the next one.

    Output Specification:

    For each case, print the list of winners in the same order as in the input, each nickname occupies a line. If there is no winner yet, print "Keep going..." instead.

    Sample Input 1:

    9 3 2
    Imgonnawin!
    PickMe
    PickMeMeMeee
    LookHere
    Imgonnawin!
    TryAgainAgain
    TryAgainAgain
    Imgonnawin!
    TryAgainAgain
    

    Sample Output 1:

    PickMe
    Imgonnawin!
    TryAgainAgain
    

    Sample Input 2:

    2 3 5
    Imgonnawin!
    PickMe
    

    Sample Output 2:

    Keep going...

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<vector>
     5 #include<map>
     6 #include<string>
     7 using namespace std;
     8 map<string, int> mp;
     9 vector<string> ans;
    10 int main(){
    11     int M, N, S;
    12     string ss;
    13     scanf("%d%d%d", &M, &N, &S);
    14     int next = S;
    15     for(int i = 1; i <= M; i++){
    16         cin >> ss;
    17         if(i == next){
    18             if(mp.count(ss) == 0){
    19                 ans.push_back(ss);
    20                 mp[ss] = i;
    21                 next = next + N;
    22             }else{
    23                 next++;
    24             }
    25         }
    26     }
    27     if(ans.size() == 0)
    28         cout << "Keep going..." << endl;
    29     else{
    30         for(int i = 0; i < ans.size(); i++)
    31             cout << ans[i] << endl;
    32     }
    33     cin >> N;
    34     return 0;
    35 }
    View Code
  • 相关阅读:
    借Adobe XD之力,自动生成Flutter代码
    阿里云移动研发平台体验报告
    一年的时间,我出版了一本实体书
    论一个前端开发者的自我修养
    es6 中模块的使用总结
    vue前端UI框架收集
    页面布局进化史
    JSON是一种轻量级数据交换格式
    web图片裁切插件 cropper.js 详细介绍
    css3中的@font-face你真的了解吗
  • 原文地址:https://www.cnblogs.com/zhuqiwei-blog/p/8582983.html
Copyright © 2011-2022 走看看