zoukankan      html  css  js  c++  java
  • pat 1124 Raffle for Weibo Followers(20 分)

    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...
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <map>
     6 #include <stack>
     7 #include <vector>
     8 #include <queue>
     9 #include <set>
    10 using namespace std;
    11 const int MAX = 1e3 + 10;
    12 
    13 int m, n, s, cnt = 0;
    14 struct node
    15 {
    16     char s[30];
    17 }P[MAX], S[MAX];
    18 set <string> st;
    19 pair <set <string> :: iterator, bool> pr;
    20 set <string> :: iterator iter;
    21 
    22 int main()
    23 {
    24 //    freopen("Date1.txt", "r", stdin);
    25     scanf("%d%d%d", &m, &n, &s);
    26     for (int i = 1; i <= m; ++ i)
    27         scanf("%s", &P[i].s);
    28 
    29     for (int i = s; i <= m; i += n)
    30     {
    31         pr = st.insert(P[i].s);
    32         if (pr.second)
    33         {
    34             strcpy(S[cnt ++].s, P[i].s);
    35             continue;
    36         }
    37         while (i <= m)
    38         {
    39             ++ i;
    40             pr = st.insert(P[i].s);
    41             if (pr.second)
    42             {
    43                 strcpy(S[cnt ++].s, P[i].s);
    44                 break;
    45             }
    46         }
    47     }
    48 
    49     if (cnt == 0)
    50     {
    51         printf("Keep going...
    ");
    52         return 0;
    53     }
    54     for (int i = 0; i < cnt; ++ i)
    55         printf("%s
    ", S[i].s);
    56     return 0;
    57 }
  • 相关阅读:
    LeetCode 链表题总结
    分布式系统 MIT 6.824 Lab 1: MapReduce 准备
    Consul 入门(二)
    Consul 入门
    IDEA批量修改变量快捷键
    Spring源码解析-JdbcTemplate
    SpringMVC源码解析-HTTP请求处理和分发
    SpringMVC源码解析-DispatcherServlet启动流程和初始化
    发现一个网站可以看英文版的harry potter小说,好东西分享一下哈
    TypeSrcript如何引入第三方库 如果加d.ts以及async await如何使用 demo,只有代码,文字后续补充
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/9581881.html
Copyright © 2011-2022 走看看