2019独角兽企业重金招聘Python工程师标准>>>

题目列表 > 传话游戏

时间限制: 1000ms 内存限制: 256MB

描述

Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,直到倒数第二位告诉Bob。两位游戏者在传话中,不能让其他人听到,也不能使用肢体动作来解释。最后,Bob把他所听到的话告诉大家,Alice也把她原本所想的话告诉大家。

由于传话过程中可能出现一些偏差,游戏者越多,Bob最后听到的话就与Alice所想的越不同。Bob听到的话往往会变成一些很搞笑的东西,所以大家玩得乐此不疲。经过几轮游戏后,Alice注意到在两人传话中,有些词汇往往会错误地变成其他特定的词汇。Alice已经收集到了这样的一个词汇转化的列表,她想知道她的话传到Bob时会变成什么样子,请你写个程序来帮助她。

输入

输入包括多组数据。第一行是整数 T,表示有多少组测试数据。每组数据第一行包括两个整数 N 和 M,分别表示游戏者的数量和单词转化列表长度。随后有 M 行,每行包含两个用空格隔开的单词 a 和 b,表示单词 a 在传话中一定会变成 b。输入数据保证没有重复的 a。最后一行包含若干个用单个空格隔开的单词,表示Alice所想的句子,句子总长不超过100个字符。所有单词都只包含小写字母,并且长度不超过20,同一个单词的不同时态被认为是不同的单词。你可以假定不在列表中的单词永远不会变化。

输出

对于每组测试数据,单独输出一行“Case #c: s”。其中,c 为测试数据编号,s 为Bob所听到的句子。s 的格式与输入数据中Alice所想的句子格式相同。

数据范围

1 ≤ T ≤ 100

小数据:2 ≤ N ≤ 10, 0 ≤ M ≤ 10

大数据:2 ≤ N ≤ 100, 0 ≤ M ≤ 100

样例输入

2
4 3
ship sheep
sinking thinking
thinking sinking
the ship is sinking
10 5
tidy tiny
tiger liar
tired tire
tire bear
liar bear
a tidy tiger is tired

样例输出

Case #1: the sheep is thinking
Case #2: a tiny bear is bear

有參考網上ACer的代碼

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <string>
#include <map>using namespace std;
map<string,string> mm;
char s1[30],s2[30],s[110],*p;
int t,m,n;void
fun()
{int i;string str;str=p;for(i=1;i<n;i++) {if(mm.count(str))str=mm[str];elsebreak;} cout<<str;
}
int
main()
{int i,cnt;scanf("%d",&t);getchar();for(t=1;t<=t;t++){mm.clear();scanf("%d %d",&n,&m);getchar();for(i=0;i<m;i++){scanf("%s %s",s1,s2);getchar(); mm[s1]=s2;}gets(s);cout<<"Case #"<<t<<": ";p=strtok(s," ");solve();while((p=strtok(NULL," "))){cout<<" ";fun();}cout<<endl;}return 0;
}

转载于:https://my.oschina.net/dianpaopao/blog/120674

編程之美資格賽傳話遊戲相关推荐

  1. 編程之美2.9:神奇的菲波那契數列

    只要是聽說過遞歸,學過一點數據結構的人都聽過這個數列.其實高二數學課上也有,不過那時候我還在受馬克思主義的薰陶,不知編程爲何物.好了,據說這個數列源於一對繁殖能力特別驚人的兔子. 其實這個就是一個遞推 ...

  2. 編程之美﹣電梯調度算法

    最近想详细研究一下电梯调度算法,但是所涉及到内容太多了,目前没有时间了.关于电梯算法的种类: http://www.cnblogs.com/jianyungsun/archive/2011/03/16 ...

  3. 2013編程之美 集会 三分

    通過這一體說說三分的做法. 题目列表 > 集会 时间限制: 2000ms 内存限制: 256MB 描述 在一条河的一侧,分布着 N 个村庄.这些村庄平日里需要一些贸易往来,然而商人们来回走遍每一 ...

  4. The Sandbox沙盒遊戲設計大賽將於12月24日開始

    The Sandbox與Round21聯手為玩家帶來沙盒遊戲設計大賽. 你需要使用The Sandbox的遊戲開發軟件Game Maker來製作一個與體育相關的遊戲,這個體育項目可以是現實的,也可以是 ...

  5. 编程之美2.10:寻找数组中的最大值和最小值

    编程之美2.10: 对于一个有N个整数组成的数组,需要比较多少次才能把最大值和最小值找出来呢? 算法的思想是: 分而治之 测试数据:---------------------------------- ...

  6. 编程之美2.1 求二进制中1的个数

    最近一段的时间,一直在看编程之美之类的算法书籍,刚开始看编程之美,感觉到难度太大,有时候也不愿意去翻动这本书,不过,经过一段时间的修炼,我也彻底的喜欢上这本书了, 书中的算法涉及到很多方面,树,链表, ...

  7. 2017“编程之美”终章:AI之战勇者为王

    编者按:8月15日,第六届微软"编程之美"挑战赛在选手的火热比拼中圆满落下帷幕."编程之美"挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起, ...

  8. Java 并发编程之美:并发编程高级篇之一-chat

    借用 Java 并发编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了.相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作 ...

  9. Java 并发编程之美:并发编程高级篇之一

    借用 Java 并发编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了.相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作 ...

最新文章

  1. 第七天总结:字符编码
  2. hdu 1166 敌兵布阵 (线段树)
  3. 【JavaSE04】Java中循环语句for,while,do···while-练习
  4. cad版本在线转换_一套某中学的弱电系统拓扑设计方案(CAD版本)
  5. 一个民工的数字化生活
  6. BROCADE 300和MD3200扩展柜FC SAN,截图
  7. 学位论文盲审被卡,或直接被毙,问题主要出在这几条!
  8. 静态代码检查工具简介
  9. 云小课|VMware备份上云学习专列来了,快加入吧~
  10. Adobe LiveCycle Designer 报表设计器
  11. spring-boot-starter-data-jpa详细使用介绍
  12. 山海经电子书古文/翻译白话文版发布,免费电子书。
  13. 如何在Mac电脑上打开终端
  14. 文件格式的幻数File Format and Magic Number
  15. android 调用百度翻译API 实现在线翻译
  16. unbuntu基本操作
  17. Java开发工程师应届生春招秋招总结
  18. 遇见未来 | 对话朱贤文: PostgreSQL是一匹即将发力的黑马
  19. HDU1870 愚人节的礼物【堆栈+输入输出】
  20. SAP 采购发票校验

热门文章

  1. visual stdio里面怎么取消空格补全?
  2. 问题 | 执行pip install --upgrade --ignore-installed tensorflow出现Cannot open\Scripts\pip-script.py
  3. 年终总结 | 2021红包点赞?(文末有刺激的福利哦)
  4. 安装 | CCS5.5安装包与licence以及安装教程
  5. 【ML】 李宏毅机器学习一:Regression、Gradient Descent(python实现)
  6. html em vw,CSS3 的视口单位vw、vh实现自适应(带有px,em,rem的简单介绍)
  7. DOS下perl调试命令
  8. python调用c优缺点_Python调用C模块以及性能分析
  9. 【深度学习】绝了!分割mask生成动漫人脸!爆肝数周,从零搭建
  10. 【Python】35个经典案例:吃透Python中的if条件语句~