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...
    ");
    
    }
    
    
  • 相关阅读:
    前端工程精粹(一):静态资源版本更新与缓存
    METADATATYPE的使用,MVC的MODEL层数据验证
    Android开发之Intent.Action
    Android应用开发SharedPreferences存储数据的使用方法
    php开发环境搭建 win 7 + apache + mysql
    windows 2003 导出excel iis 配置记录
    fineui demo地址
    Fourth
    Third
    Second
  • 原文地址:https://www.cnblogs.com/doragd/p/11466003.html
Copyright © 2011-2022 走看看