zoukankan      html  css  js  c++  java
  • PAT A1124 Raffle for Weibo Followers [模拟+STL]

    题目描述

    链接
    小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。注意:可能有人转发多次,但不能中奖多次。所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位。按照输入的顺序输出中奖名单,每个昵称占一行。如果没有人中奖,则输出“Keep going…”

    分析

    用mapp存储当前用户有没有已经中奖过~当输入的时候,判断当前字符串是否已经在mapp中出现过,如果出现过就将s+1。每次判断i是否等于s,如果等于s且当前用户没有中过奖,就将它的名字输出,并且s = s + n~并将mapp[str]标记为1,且flag标记为true表示有过人中奖。最后flag如果依然是false说明要输出Keep going…

    代码

    #include<bits/stdc++.h>
    using namespace std;
    
    int m,n,s;
    
    vector<string> a;
    map<string, bool> mp;
    
    int main(){
        scanf("%d%d%d",&m,&n,&s);
        a.resize(m+1);
        for(int i=1;i<=m;i++){
            cin>>a[i];
        }
        bool flag = 0;
        for(int i=s;i<=m;i+=n){
            if(mp[a[i]] != 1){
                mp[a[i]] = 1;
                flag = 1;
                printf("%s
    ", a[i].c_str());
            }else{
                i++;
                i-=n;
            }
        }
        if(!flag) printf("Keep going...
    ");
    
    }
    
    
  • 相关阅读:
    Swift
    Swift
    UVa
    Go如何发送广播包
    人迹罕至的android要完全退出程序的一种方法
    备注ocp_ORACLE专题网络
    JS它DOM
    HDU 1693 Eat the Trees 插头DP
    ubuntu-14.04 系统安装mysql-5.6.21
    1941设置站点模板,一生珍藏,所有玩具
  • 原文地址:https://www.cnblogs.com/doragd/p/11466003.html
Copyright © 2011-2022 走看看