MT2039 换换换

简介: MT2039 换换换

2604ce5a2baf481d90baefdd14614bcb.jpg

a3bffffb738646d7be84d93f1a83fe44.jpg

思路:减少复杂度。M是给定字符串寻找所在位置,如果每次都遍历找的话复杂度很高。而t范围小,说明杯子的个数少,所以在t次交换后用map记录,输出时直接用map[string]输出位置即可。

 
#include <bits/stdc++.h>
using namespace std;
const int N = 5e4 + 10;
int n, m, t;
string mp[N];
map<string, int> mpp;
int main()
{
    cin >> n >> m >> t;
    for (int i = 1; i <= n; i++)
    {
        string str;
        cin >> str;
        mp[i] = str;
    }
    while (t--)
    {
        int p1, p2;
        cin >> p1 >> p2;
        if (p1 > p2)
            swap(p1, p2);
        swap(mp[p1], mp[p2]);
    }
    for (int i = 1; i <= n; i++)
    {
        mpp[mp[i]] = i;
    }
    while (m--)
    {
        string str;
        cin >> str;
        cout<<mpp[str]<<endl;
    }
}


相关文章
|
1月前
|
存储
MT3037 新月轩就餐
MT3037 新月轩就餐
|
1月前
|
SQL Java
一直傻傻分不清 count(*) count(id) count(1) 这次终于整明白了
一直傻傻分不清 count(*) count(id) count(1) 这次终于整明白了
38 0
|
8月前
|
C++
|
11月前
|
Python
Python: 1029 旧键盘_关于我只用了3min这件事
Python: 1029 旧键盘_关于我只用了3min这件事
52 0
51nod 2382 一半的一半 (sprintf()函数的用法)
51nod 2382 一半的一半 (sprintf()函数的用法)
50 0
MT4/MT5被下架,最佳的替代平台是什么?达克的MT4和MT5系统前段时间被苹果商城下架,对于经纪商和投资者来说,都产生了巨大的影响,所有人都在寻找其他可以代替MT4和MT5的方案,那么选择新的外汇交易系统时,有哪些需要考虑的呢?
MT4/MT5被下架,最佳的替代平台是什么?达克的MT4和MT5系统前段时间被苹果商城下架,对于经纪商和投资者来说,都产生了巨大的影响,所有人都在寻找其他可以代替MT4和MT5的方案,那么选择新的外汇交易系统时,有哪些需要考虑的呢?专业的外汇交易系统搭建商-奥兴科技来为你解答一下!
PTA 1029 旧键盘 (20 分)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。
80 0