• PAT 1124 Raffle for Weibo Followers


    1124 Raffle for Weibo Followers (20 分)
     

    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...
    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    
    
    int main(){
        int m,n,s;
        cin >> m >> n >> s;
        vector<string> vec(m+1);
        for(int i=1;i <= m;i++){
            string t;cin >> t;
            vec[i] = t;
        }
        if(s > m) {printf("Keep going...
    ");return 0;}
    
    
        map<string,int> mp;
        for(int i=s;i <= m;){
            if(mp[vec[i]] == 0){
                cout << vec[i] << endl;
                mp[vec[i]] = 1;
                i += n;
            }
            else{
                i++;
            }
        }
    
    
    
        return 0;
    }

    发现一个性质,题面越长一般越简单。。

     
  • 相关阅读:
    vue-router重写push方法,解决相同路径跳转报错
    Vue中的权限管理怎么做
    linux启动过程中建立临时页表
    用redis当作LRU缓存
    用IPV6隧道连接IPV4孤岛
    redis协议规范
    nginx的脚本引擎(二)rewrite
    nginx的脚本引擎(一)
    nginx的变量系统
    Singleton
  • 原文地址:https://www.cnblogs.com/cunyusup/p/10791106.html
Copyright © 2020-2023  润新知