PAT(A)1124 Raffle for Weibo Followers (20point(s))

在这里插入图片描述

Sample Input

9 3 2
Imgonnawin!
PickMe
PickMeMeMeee
LookHere
Imgonnawin!
TryAgainAgain
TryAgainAgain
Imgonnawin!
TryAgainAgain

Sample Output

PickMe
Imgonnawin!
TryAgainAgain

思路:
map记录,如果第一个就大了则是keep going
代码

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cstring>
#include <vector>
#include <map>
#include <cmath>

using namespace std;

#define endl '\n'

typedef long long ll;

string str[1004];
map<string, int>mp;

int main()
{
    int n, m, s;

    cin >> m >> n >> s;

    for (int i = 1; i <= m; ++i)
        cin >> str[i];

    if (m < s)
    {
        cout << "Keep going..." << endl;
        return 0;
    }

    for (int i = s; i <= m; i += n)
    {
        while (mp[str[i]] == 1 && i <= m)
            i++;

        if (i > m)
            break;

        mp[str[i]] = 1;
        cout << str[i] << endl;
    }

    return 0;
}

发布了161 篇原创文章 · 获赞 7 · 访问量 7085

猜你喜欢

转载自blog.csdn.net/weixin_43778744/article/details/104142486