zoukankan      html  css  js  c++  java
  • PAT 1124 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...

    #include<iostream>//水题
    #include<map>
    using namespace std;
    int main(){
      int m, n, s, cnt=0;
      cin>>m>>n>>s;
      string r;
      map<string, int> visited;
      for(int i=1; i<=m; i++){
        cin>>r;
        if(i<s) continue;
        else if(i==s){
          cout<<r<<endl;
          visited[r]=1;
        }
        else{
          cnt++;
          if(cnt%n==0){
            if(visited[r]==0){
              cout<<r<<endl;
              visited[r]=1;
              cnt=0;
            }else
              cnt--;
          }
        }
      }
      if(m<s)
        cout<<"Keep going..."<<endl;
      return 0;
    }
    
  • 相关阅读:
    侧边框伸缩
    百度登录界面
    PHP 判断是否包含在某个字符串中
    三个等于号===和两个等于号==的区别
    PHP的魔法方法
    Apache和PHP环境配置
    群同构与线性空间同构的区别
    SciPy0.11.0(or higher)安装
    博客搬家
    简单的组件传值
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/9506503.html
Copyright © 2011-2022 走看看