水题系列二:PhoneNumbers
问题描述:
Phonenumbers 企业喜欢用容易被记住的电话号码。让电话号码容易被记住的一个办法是将它写成一 个容易记 住的 单词或 者短语 。例如 ,你 需要给 滑铁卢 大学打 电话时 ,可 以拨打 TUT-GLOP。有时,只将电话号码中部分数字拼写成单词。当你晚上回到酒店,可以通过 拨打 310-GINO 来向 Gino's 订一份 pizza。让电话号码容易被记住的另一个办法是以一种好 记的方式对号码的数字进行分组。通过拨打必胜客的“三个十”号码 3-10-10-10,你可以 从他们那里订 pizza。电话号码的标准格式是七位十进制数,并在第三、第四位数字之间有 一个连接符。电话拨号盘提供了从字母到数字的映射,映射关系如下:
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
Q 和 Z 没有映射到任何数字,连字符不需要拨号,可以任意添加和删除。 TUT-GLOP 的标准格式是 888-4567,310-GINO 的标准格式是 310-4466,3-10-10-10 的标准格式是 310-1010。
★编程任务
如果两个号码有相同的标准格式,那么他们就是等同的(相同的拨号) ,你的公司正在 为本地的公司编写一个电话号码薄。作为质量控制的一部分,你想要检查是否有两个和多 个公司拥有相同的电话号码。
★数据输入
输入的格式是,第一行是一个正整数,指定电话号码薄中号码的数量(最多 100000)。 余下的每行是一个电话号码。每个电话号码由数字,大写字母(除了 Q 和 Z)以及连接符 组成。每个电话号码中只会刚好有 7 个数字或者字母。
★数据输出
对于每个出现重复的号码产生一行输出,输出是号码的标准格式紧跟一个空格然后是 它的重复次数。如果存在多个重复的号码,则按照号码的字典升序输出。如果输入数据中 没有重复的号码,输出一行:No duplicates.
#include<iostream>
#include<algorithm>
#include<cmath> using namespace std; //用于映射电话中的字母数组,为了方便,把Q,Z位置初始化为0
int number[]={ , , , , , , , , , , , , , , , , , , , , , , , , , };
int numList[];
int size=; int main()
{
int n;
cin>>n;
while(n--)
{
//把每个输入的号码字符串直接转换成一个7位数字并放入数组。
char numStr[];
int num=;
cin>>numStr;
int len=strlen(numStr);
for(int i=;i<len;i++)
{
char c=numStr[i];
if(c>=''&&c<='')
num=num*+(c-'');
else if(c>='A'&&c<='Y'&&c!='Q')
num=num*+(number[c-'A']);
}
numList[size++]=num;
} //先进行一次排序,之后输出时候就可以按照顺序,并且为后面的处理提供方便。
sort(numList,numList+size);
//用于标识是否有从夫,true标识没有重复
bool flag=true;
int repeat =;
for(int i=;i<size;i++)
{
if(numList[i]==numList[i+])++repeat;
else if(repeat>)
{
int a=numList[i]/;
int b=numList[i]%;
printf("%03d-%04d %d\n",a,b,repeat);
repeat=;
blag=flase;
}
if(flag)
{
printf("No duplicates.\n");
return ;
}
}
}
水题系列二:PhoneNumbers的更多相关文章
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解
Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全 Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...
- nyoj 1208——水题系列——————【dp】
水题系列 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给你一个有向图,每条边都有一定的权值,现在让你从图中的任意一点出发,每次走的边的权值必须必上一次的权 ...
- 暑假训练Round1——G: Hkhv的水题之二(字符串的最小表示)
Problem 1057: Hkhv的水题之二 Time Limits: 1000 MS Memory Limits: 65536 KB 64-bit interger IO format: ...
- <hdu - 3999> The order of a Tree 水题 之 二叉搜索的数的先序输出
这里是杭电hdu上的链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999 Problem Description: As we know,the sha ...
- C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数
各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 输出: 解释: 各位相加的过程为: + = , + = . 由于 是一位数,所以返回 . 进阶:你可以 ...
- Tarjan水题系列(5):最大半连通子图 [ZJOI2007 luogu P2272]
题目 大意: 缩点后转为求最长链的长度和最长链的个数 思路: 看懂题就会做系列 长度和个数都可以拓扑排序后DP求得 毕竟是2007年的题 代码: 如下 #include <cstdio> ...
- COdevs 天梯 水题系列
1203 判断浮点数是否相等 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等 输入 ...
- Tarjan水题系列(4):HAOI2010 软件安装
题目: 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大). ...
- Tarjan水题系列(3):HNOI2006 潘多拉的魔盒
题目: 链接 大意: 盒子与盒子之间的关系构成一个有向图 求图上包含节点数最多的路径的节点数 思路: 有向图上求包含节点数最多的路径的节点数 可直接使用tarjan缩点后拓扑dp求得 在此不赘述 此题 ...
随机推荐
- NOIP2018退役祭
退役感受 在写下这个标题的时候,我的心情是复杂的,无非就是感觉像对一位将要赶往战场的士兵说:"你的战争已经输掉了." 退役了,没有什么好说的.无论再怎么抱怨这题出的真烂也无法改变了 ...
- Java—网络编程基础
URL的应用: 获得网页源代码可以用字节流.字符流,流的获取可以用url.openStream(),也可以用con.getInputStream(): 字节流: URL url = new URL(& ...
- Qt中中文字符 一劳永逸的解决方法
QT中中文字符问题,有没有一劳永逸的解决方法? 目前遇到有以下问题 1.字符串中有中文时,编译提示"常量中含有换行符" 2.在控制台窗口输出中文时无法正常显示,中文全部显示为? 目 ...
- 理解 Redis(5) - 哈希值
哈希值存储示意图:首先, 我想先认真理解一下哈希值的数据结构:前面讲过, redis 存储的是键值对, 键永远都是可以打印的 ASCII 码, 值是字符串, 或者是以其他形式包裹的字符串. 上两节介绍 ...
- _itemmod_creation_enchant
该表控制物品产生时自动获得随机附魔效果 comment 备注 entry 物品entry slot 附魔位置1-5,这些位置都可以用来产生自带附魔效果 groupId 附魔组Id 对就_ ...
- CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)
转载自:http://blog.csdn.net/u014175572/article/details/51535768 CSS3的transform:scale()可以实现按比例放大或者缩小功能. ...
- JavaSE 字符串和正则表达式
根据不懂的自己整理一下,跟着老师进度刷一遍课本,记录琐碎不懂知识 1.StringTokenizer类 String[] mess= {"整数部分","小数部分" ...
- cookie的常用操作
cookie介绍: 1. cookie的简单介绍就是把用户的登录信息缓存在本机的浏览器中,且最大容量为4KB, 2. 这种存储是不安全的,通常一般会进行加密处理,但是依旧不能做到安全,所以一般要优先考 ...
- Bootstrap 4正式发布还有意义吗?
历经三年开发,前端框架Bootstrap 4正式发布了.然而今天的Web世界已经和当初Mark Otto发布Bootstrap时的情况大为不同,一些开发者由此质疑它的更新是否还有意义. V4版本的主要 ...
- 力扣(LeetCode) 20. 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...