PATA1124_水题(map)

该程序主要展示了一个使用C++的unordered_map容器来解决特定字符串遍历的场景。程序读取输入的整数m、skip和win,然后处理字符串数组。当win超过m时,输出提示信息;否则,检查字符串是否已记录,若未记录则输出并跳过skip个元素,已记录则直接跳过一个元素。这个代码片段体现了C++中数据结构在遍历和查找操作上的效率优势。

会用map就行。

#include<bits/stdc++.h>
using namespace std;
unordered_map<string, bool> mp;
vector<string> v;
int main() {
    int m, skip, win, flag = 0;
    scanf ("%d %d %d", &m, &skip, &win);
    v.resize(m + 1);
    for (int i = 1; i <= m; i++) cin >> v[i];
    if (win > m) {
        printf ("Keep going...");
        return 0;
    } 
    for (int i = win; i <= m; ) {
        if (mp[v[i]] == false) {
            mp[v[i]] = true;
            cout << v[i] << endl;;
            i += skip;
        }
        else {
            i++;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值