1002:方便记忆的电话号码

您所在的位置:网站首页 6753英文 1002:方便记忆的电话号码

1002:方便记忆的电话号码

2024-02-24 06:53| 来源: 网络整理| 查看: 265

1002:方便记忆的电话号码 查看 提交 统计 提示 提问 总时间限制: 2000ms 内存限制: 65536kB 描述 英文字母(除Q和Z外)和电话号码存在着对应关系,如下所示: A,B,C -> 2 D,E,F -> 3 G,H,I -> 4 J,K,L -> 5 M,N,O -> 6 P,R,S -> 7 T,U,V -> 8 W,X,Y -> 9 标准的电话号码格式是xxx-xxxx,其中x表示0-9中的一个数字。有时为了方便记忆电话号码,我们会将电话号码的数字转变为英文字母,如把263-7422记成America。有时,我们还加上“-”作为分隔符,如把449-6753记成Hi-World。当然,我们未必要将所有的数字都转变为字母,比如474-6635可以记成iPhone-5。 总之,一个方便记忆的电话号码由数字和除Q、Z外的英文字母组成,并且可以在任意位置插入任意多的“-”符号。 现在 ,我们有一个列表,记录着许多方便记忆的电话号码。不同的方便记忆的电话号码可能对应相同的标准号码,你的任务就是找出它们。

输入 第一行是一个正整数n(n = 2),中间用空格分隔。输出的标准电话号码需按照升序排序。

如果没有重复出现的标准电话号码,则输出一行“No duplicates.”。 样例输入 12 4873279 ITS-EASY 888-4567 3-10-10-10 888-GLOP TUT-GLOP 967-11-11 310-GINO F101010 888-1200 -4-8-7-3-2-7-9- 487-3279 样例输出 310-1010 2 487-3279 4 888-4567 3 思路: 将输入的每一行字符串(带有数字,字母,以及‘-’)转化为只有0-9的数(注意是一个数),这个数最多7位。再记录这些数出现的次数。最后将这些书排序,再输出这些数(出现次数>=2的),以及出现的次数。如果输入的所有行并没有这样的数(出现次数>=2的),那就输出No duplicates. 以下是ac代码:

#include #include #include #include #include #include using namespace std; int document[10000000],b[100010];//对于该数组的大小,我一直wa,原来是数组开小了,哭,所以要注意! int transfm(char a[200])//此函数用于将每一行输入的字符串,转化为的数字(按照题目的规则) { int result=0,i; for(i=0; i>n; for(i=0; i>a; tran_num=transfm(a); b[k++]=tran_num; document[tran_num]++;//记录每个数字(那个函数转化后的数字)出现的次数。 } sort(b,b+k);//排序 int flag=0; for(i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3