链接:https://www.nowcoder.com/acm/contest/85/J
おみやげをまらいました!
![](https://i-blog.csdnimg.cn/blog_migrate/28b3a03d7b88ba313d2346f26f48ca69.png)
蛙蛙还是给你带来了礼物。但它有个小小的要求,那就是你得在石头剪刀布上赢过它才能拿到礼物哦!
你们这样规定:有三个字符串
![](https://i-blog.csdnimg.cn/blog_migrate/15f5b62929a0599e27b5a80e52d88048.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2105fa43ec43e0b50937fe317553714.png)
![](https://i-blog.csdnimg.cn/blog_migrate/919e7fb49e5dcc1037895befcf9c6d76.png)
![](https://i-blog.csdnimg.cn/blog_migrate/919e7fb49e5dcc1037895befcf9c6d76.png)
![](https://i-blog.csdnimg.cn/blog_migrate/59b79a66236958b352fb02eee9b5552e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/59b79a66236958b352fb02eee9b5552e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2105fa43ec43e0b50937fe317553714.png)
现在根据你的观察,你已经知道了蛙蛙心想的出拳顺序,你需要安排自己的出拳顺序,使得你能在每一局中都获胜。
“焼きまんじゅう”、“ういろう”、“⽡せんべい”、“福だるま”、“⽉うさぎのボタン”……
输入描述:
前三行每行两个字符串,每行
,表示
能打败
。
数据保证不互相矛盾,且其中有恰好三种不同的字符串。
接下去一个数
,表示
次对战。
接下去
行每行一个字符串,表示蛙蛙的出拳种类。注意,蛙蛙的出拳可能不合法(即不是三种字符串中的),这时请输出
。
输出描述:
共
行,每行一个字符串,表示每一局你需要出什么。
如果对手出的不合法,输出
。
备注:
![](https://i-blog.csdnimg.cn/blog_migrate/d29055cfcbdf3c82fe3dfa00edbb26ec.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8b56abee1a2a12b4cae92a2c6e48c659.png)
思路:使用 STL 中 map 存储游戏规则,主键为被战胜的字符串,值为战胜的字符串
AC代码:
1 #include <map> 2 #include <string> 3 #include <iostream> 4 using namespace std; 5 int main(){ 6 7 map<string,string> mmp; 8 string ss1,ss2; 9 for(int i=0;i<3;i++){ 10 cin>>ss1>>ss2; 11 mmp[ss2]=ss1; 12 } 13 int n; 14 cin>>n; 15 for(int i=0;i<n;i++){ 16 string ss; 17 cin>>ss; 18 if(!mmp.count(ss)) 19 cout<<"Fake"<<endl; 20 else 21 cout<<mmp[ss]<<endl; 22 } 23 24 return 0; 25 }