换换换 马蹄集

换换换

号难度:钻石

0时间限制:1秒

巴占用内存:128M

机器人小在看一个魔术表演,魔术师面前有一排共N个倒扣着的杯子,其中

每一个下面都有一个小玩具:,并且每个小玩具都是唯一的。魔术师飞快地变

换杯子之后让小R猜其中M个玩具t;在哪个杯子里。由于机器人小R内置的

程序只能记录杯子的数量N,小玩具初始的位置p,以及魔术师每次变换杯子

的位置p1,p2。小R的主人希望你能写一个程序,帮助小R找出玩具。

#include <bits/stdc++.h>
#define N 50005
using namespace std;
int n,m,t;
string s[N];
map<string,int>mp;
int main(){
string tmp;
cin >>n >>m >>t;
for (int i=1;i<=n;i++){
cin >> tmp;
s[i] = tmp;
mp[tmp] = i;
}
while (t--){
int p1,p2;
cin >>p1 >>p2;
swap(s[p1],s[p2]);
swap(mp[s [p1]],mp[s[p2]]);
}
while (m--){
cin >>tmp;
cout <<mp[tmp]<<endl;
}
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值