拼音魔法

Time limit per test: 1.0 seconds

Time limit all tests: 1.0 seconds

Memory limit: 256 megabytes

魔法学校小学一年级有一种题。就是给一个字的拼音,给一个声调,让你正确地注音。但魔法老师给了巨量的题,你不用魔法根本不可能做完。所以现在要让你发明一种魔法完成这个任务。

问题已经讲完了,下面开始教授汉语。(会汉语或者自认为会汉语的可以自动跳过)

汉语中一个字的拼音由声母和韵母两部分组成,在极少数情况下也会没有声母,但一定有韵母。

一般认为,声母有 b, p, m, f, d, t, l, n, g, k, h, j, q, x, z, c, s, zh, ch, sh, r, y, w;韵母有:a, e, o, i, u, ü, ai, ei, ui, ao, ou, iu, ie, üe, er, an, en, in, un, ün, ang, eng, ing, ong。

不是所有的字母都能组合的,组合的时候有时会发生一些神奇的事情,例如 üe 变成了 ue。但是标调规则有如下口诀:

有 a 先找 a,没 a 找 o e,i u 并排标在后,这样标调不会错。

只有下面列出的元素可能会被标调。请按照下表输出(尤其注意 a 不要输出成 ɑ 了):

  • 第一声:ā ē ī ō ū ǖ。
  • 第二声:á é í ó ú ǘ。
  • 第三声:ǎ ě ǐ ǒ ǔ ǚ。
  • 第四声:à è ì ò ù ǜ。
  • 轻声:a e i o u ü。

辅助材料:由教育部公布的拼音方案。如果有描述不一致的地方,请以本题描述为准。

Input

第一行一个整数 T (1≤T≤105)。

下面 T 行,每行一个拼音:拼音声调在各个拼音之后,用数字 [1-4] 进行表示。例如 zhong1 guo2。没有数字的说明是轻声,不用标调。

按照国际惯例,输入文件全部由 ASCII 编码组成。ü 用 v 来代替。但在输出中,应仍然用 ü 来表示。

Output

对于每一组数据,输出 Case x: y。其中 x 是从 1 开始的测试数据编号,y 是一个拼音标调后的答案。

注意:对于非 ASCII 字符的输出,请使用 UTF-8 编码。

Examples

input
5
zhong1
guo2
me
que1
nv3

output
Case 1: zhōng
Case 2: guó
Case 3: me
Case 4: quē
Case 5: nǚ

Note

会 C/C++ 的魔法师最可爱了。

Source

2017 华东师范大学网赛

【分析】

奇怪的一道题......作者讲的也不是很清楚....按照题目给的意思来就行了...a优先,然后oe,先找到哪个用哪个,然后倒过来找iu,另外因为存在v的情况,所以y,j,q,x后的v都需要改成u,e前面的v也需要改成u,然后直接改就行了....另外注意一点那些拼音不属于ASCLL码所以不能用单引号字符,要用双引号字符串....然后也没什么其他可以说的...复习了一下我的小学语文,被语文老师知道了非得打死我不可

【代码】

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>using namespace std;char A[10][10]={"a","ā","á","ǎ","à"};
char E[10][10]={"e","ē","é","ě","è"};
char I[10][10]={"i","ī","í","ǐ","ì"};
char O[10][10]={"o","ō","ó","ǒ","ò"};
char U[10][10]={"u","ū","ú","ǔ","ù"};
char V[10][10]={"ü","ǖ","ǘ","ǚ","ǜ"};char s[2000];
int main()
{int now;int p=1; int pp;scanf("%d",&pp);while (pp--){scanf("%s",s);printf("Case %d: ",p++);for (int i=0;s[i]!='\0';i++)if (s[i]=='v')if (s[i-1]=='y'||s[i-1]=='j'||s[i-1]=='q'||s[i-1]=='x'||s[i+1]=='e')s[i]='u';int len=strlen(s);if (s[len-1]>='0'&&s[len-1]<='9'){now=s[len-1]-48;len--;for (int i=0;i<len;i++)if (s[i]=='a'){for (int j=0;j<i;j++) printf("%c",s[j]);printf("%s",A[now]);for (int j=i+1;j<len;j++) printf("%c",s[j]);puts("");goto out;}for (int i=0;i<len;i++)if (s[i]=='o'){for (int j=0;j<i;j++) printf("%c",s[j]);printf("%s",O[now]);for (int j=i+1;j<len;j++) printf("%c",s[j]);puts("");goto out;}elseif (s[i]=='e'){for (int j=0;j<i;j++) printf("%c",s[j]);printf("%s",E[now]);for (int j=i+1;j<len;j++) printf("%c",s[j]);puts("");goto out;}for (int i=len-1;i>=0;i--)if (s[i]=='i'){for (int j=0;j<i;j++) printf("%c",s[j]);printf("%s",I[now]);for (int j=i+1;j<len;j++) printf("%c",s[j]);puts("");goto out;}elseif (s[i]=='u'){for (int j=0;j<i;j++) printf("%c",s[j]);printf("%s",U[now]);for (int j=i+1;j<len;j++) printf("%c",s[j]);puts("");goto out;}for (int i=0;i<len;i++)if (s[i]=='v'){for (int j=0;j<i;j++) printf("%c",s[j]);printf("%s",V[now]);for (int j=i+1;j<len;j++) printf("%c",s[j]);puts("");goto out;}out:;}else{now=0;for (int i=0;i<len;i++)if (s[i]=='v')printf("%s",V[0]);else printf("%c",s[i]);printf("\n");}    }return 0;
}

2017华东师范大学网络赛—A相关推荐

  1. 2017华东师范大学网赛-拼音魔法

    拼音魔法 Time limit per test: 1.0 seconds Time limit all tests: 1.0 seconds Memory limit: 256 megabytes ...

  2. 2017 华东师范大学网赛 F.丽娃河的狼人传说 Problem #3263( 贪心)

    丽娃河的狼人传说 Time limit per test: 1.0 seconds Time limit all tests: 1.0 seconds Memory limit: 256 megaby ...

  3. 华东师范大学计算机网络试卷,华东师范大学网络教育学院《计算机入门》模拟考试卷.doc...

    华东师范大学网络教育学院 <计算机入门>模拟考试卷 (A卷) 2009年7月 一.单选题(40分) 1.操作系统是一种___________. A.应用软件 B.软件和硬件的统称 C.数据 ...

  4. 华师大计算机入门模拟卷,华东师范大学网络本科计算机基础考试大纲

    计算机基础考试需要了解微型计算机的基础知识,微型计算机系统的组成和各组成部分的功能等方面的知识,对于报读了华东师范大学本科的网络考生而言,若是有个复习大纲那么复习起来会更高效,为此明德教育为大家整理了 ...

  5. 计算机引论模拟试卷,华东师范大学网络学院模拟试卷1.doc

    华东师范大学网络学院模拟试卷1 华东师范大学网络学院模拟试卷1 课程名称:_ 计算机引论 ___ 模拟考试时间 120分钟 第一题 判断题 (10分,每题1分) 二进制字节是计算机中信息存储和管理的基 ...

  6. 华东师范大学计算机科学与软件工程6,2017华东师范大学计算机科学与软件工程学院考试科目范围一览.pdf...

    2017 华东师范大学计算机科学与软件工程学院考试科目范围一览 序 招 生 招生院系代 考试科目 初试范围 号 年 码及名称 代码级名称 160 计算机 101 思想 教育部统一命题,参见教育部考试中 ...

  7. 计蒜客 17115 2017 ICPC 西安网络赛 B Coin

    Problem nanti.jisuanke.com/t/17115 Reference 关于二项展开式系数和 [二项式定理][推导]计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网 ...

  8. 2017 ACM-ICPC乌鲁木齐网络赛 G. Query on a string(KMP+树状数组)

    题目链接:https://www.jisuanke.com/contest/870 题意: 给出两个字符串S和T,Q次操作:①C a b表示将第a个字符改为b:②Q l r表示T在S的子串[l, r] ...

  9. 2017 ACM-ICPC南宁网络赛: G. Finding the Radius for an Inserted Circle

    题目链接: https://nanti.jisuanke.com/t/17314 题意:如下图 先输入两个数T和R,代表T次询问和大圆半径R 接下来每次询问输入一个k,求出图中第k小的圆Ck的半径 设 ...

  10. 2017 ACM-ICPC南宁网络赛: J. Minimum Distance in a Star Graph(BFS)

    题目太长了直接放链接: https://nanti.jisuanke.com/t/17317 题意:给你两个n个数的全排列,例如n=4时,1234.1324.4312这些都是 你每次可以交换其中两个数 ...

最新文章

  1. 特斯拉再裁员3000多人,马斯克称别无选择
  2. js控制文本栏只能输入数字
  3. Android-用ListView显示SDCard文件列表
  4. JavaScript判断页面当前浏览设备为移动端还是PC端,实现自动加载对应端页面
  5. VS2019 WPF制作OTA上位机(二)获取bin文件路径
  6. 建筑工程响应式网站模板
  7. 将pdf书籍变成横排的方法
  8. SpringBoot中自定义错误页面
  9. PHP查看IP时候能ping通
  10. matlab 删除plot上的图,matlab删除部分图例
  11. 张孝祥张老师一路走好!
  12. 二、 在Sails中使用Typescript
  13. 杨氏不等式(控制中的应用)
  14. 数据库设计之冗余、索引以及查询优化
  15. 工程力学(10)—轴向拉伸与压缩二
  16. php v11跟v14区别,亲身体验诉说戴森v11fluffy和absolute哪个好?有什么区别?老司机揭秘解说...
  17. Java Web之HTML基础(一):HTML常见标签实现
  18. 5、TORCH.RANDOM
  19. 亚信科技java面试题及答案.doc
  20. keras 自带VGG16 net 参数分析

热门文章

  1. spring boot整合SpringSecurity-04 使用jwt的方式认证
  2. 中国传统色的魅力|这8组中国风传统颜色你一定要收藏
  3. BeagleBone Black 从零到一 (2 MLO、U-Boot)_spl
  4. session fixation漏洞简述
  5. Linux Server中搭建NAS存储服务(一)
  6. 蓝桥杯_练一练「鲁卡斯队列」 java
  7. Java虚拟机(JVM)学习合集
  8. 静态网页设计课后练习
  9. 图解LDO电路和DC-DC电路,掌握芯片选型
  10. 脉冲神经网络(Spiking Neural Network,SNN)概述