每个人都喜欢有令人难忘的电话号码。要想让电话号码变得令人难忘的一种方法是拼出一个令人难忘的单词或短语。例如,你可以拨打滑铁卢大学的电话,拨打令人难忘的电话号码TUT-GLOP。

有时只有一部分号码被用来拼写一个单词,例如,你可以拨打310-gino从Gino's订购披萨。

要使电话号码令人难忘的另一种方法是以一种令人难忘的方式对数字进行分组。你可以从比萨饼小屋中订购比萨饼,方法是拨打他们的“3个10”,即号码3-10-10-10。

电话号码的标准格式是七位的十进制数字,第三和第四位之间包含连字符(例如888-1200)。电话的键盘提供字母到数字的映射,如下所示:

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。

当两个电话号码有相同的标准格式时是等价的(拨同样的号码)。

你的公司正在编制本地企业的电话号码目录,作为质量控制的一部分,你需要检查没有两个(或多个)企业具有相同的电话号码。

【输入形式】

输入包括一个案例。输入的第一行为一个正整数,指定目录中电话号码的数目(最多100,000)。其余的各行列出目录中的电话号码,每个号码单独占一行。每个电话号码都是一个由十进制数字、大写字母(不包括Q和z)和连字符组成的字符串。字符串中的七个字符或是数字或是字母。

【输出形式】

对于出现超过一次的每个号码,按照标准格式每个输出一行,然后是空格,接着输出出现的次数。只出现1次的电话号码不输出。

【样例输入】

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

我好菜,处理个字母都要那么麻烦的办法。另外,样例输出为什么不说是按电话号码大小?自己想很累的,万一想不到怎么办

#include <iostream>
#include <algorithm>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct sss{string name="null";string real_name="null";int count=1;
};
bool cmp(const sss&x,const sss&y);
int main(int argc, char** argv)
{int T;cin>>T;sss s[T];int n=0;for(int i=0;i<T;i++){string y;cin>>y;string x;for(unsigned int j=0;j<y.size();j++){if(y[j]=='-')continue;else{if(y[j]>='0'&&y[j]<='9')x.push_back(y[j]);else if(y[j]>='A'&&y[j]<='C')x.push_back('2');else if(y[j]>='D'&&y[j]<='F')x.push_back('3');else if(y[j]>='G'&&y[j]<='I')x.push_back('4');else if(y[j]>='J'&&y[j]<='L')x.push_back('5');else if(y[j]>='M'&&y[j]<='O')x.push_back('6');else if(y[j]>='P'&&y[j]<='S')x.push_back('7');else if(y[j]>='T'&&y[j]<='V')x.push_back('8');else if(y[j]>='W'&&y[j]<='Y')x.push_back('9');}} int flag=0;for(int j=0;j<n;j++){if(s[j].real_name==x){s[j].count++;flag=1;//cout<<"这是"<<ss[j].real_name<<endl;break;}}if(flag!=1){s[n].real_name=x;n++;}}sort(s,s+n,cmp);for(int i=0;i<n;i++){if(s[i].count>1){for(unsigned int j=0;j<s[i].real_name.size();j++){if(j==3)cout<<'-'<<s[i].real_name[j];elsecout<<s[i].real_name[j];}cout<<" "<<s[i].count<<endl;}}return 0;
}
bool cmp(const sss&x,const sss&y){for(int i=0;i<7;i++){if(x.real_name[i]<y.real_name[i])return true;else if(x.real_name[i]==y.real_name[i]) continue;else return false;}return false;
}

2. 487-3279相关推荐

  1. D - Fliptile POJ - 3279(翻转问题)

    D - Fliptile POJ - 3279 题意: 给一个m*n的01矩阵,对某一块砖踩一脚,1->0 || 0->1, 求将整个举证全部变为0最少踩几次 典型的翻转问题,此类问题的特 ...

  2. POJ 3279(Fliptile)题解

    以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定长宽的黑白棋棋盘摆满棋子,每次操作可以反转一个位置和其上下左右共五个位置的棋子的颜色,求要使用最少翻转次数将所有棋子反转为黑 ...

  3. leetcode 485,487,1004. Max Consecutive Ones I ,II, III(最大连续1的个数问题合集)

    485. Max Consecutive Ones https://leetcode.com/problems/max-consecutive-ones/ easy 题,思路不说了,直接上代码. cl ...

  4. mysql无法找到事件id100描述_解决“事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到”...

    事件类型: 错误 事件来源: Zend Optimizer 事件种类: 无 事件 ID: 487 日期: 2006-8-18 事件: 0:17:36 用户: N/A 计算机: COMPUTER 描述: ...

  5. init_cheap: VirtualAlloc pointer is null, Win32 error 487

    用mingw编译程序时报错: 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBas ...

  6. poj 3279 poj 1753

    poj 3279: Description Farmer John knows that an intellectually satisfied cow is a happy cow who will ...

  7. POJ 3279 Fliptile

    传送门:http://poj.org/problem?id=3279 Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissi ...

  8. 解决“事件ID(487)的描述(在资源(Zend Optimizer)中)无法找到”问题

    IIS+PHP+Zend服务器配置好并运行一段时间后,你可能在事件日志中看到如下信息:(以Windows服务器而言)事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法 ...

  9. pr cpu100%_PR插件proDAD4.0.487.1安装教程

    插件下载 [名称]:Pr插件-proDAD4.0.487.1 [大小]:20.8 MB [语言]:简体中文 [安装环境]:Win7/Win8/Win10 [支持版本]:Pr CC2015-Pr CC2 ...

  10. asterisk 对接 移动IMS 外呼接通时返487错误(已解决)

    症状: 1.呼入正常 2.外呼部分手机号正常 3.外呼部分号码时,外线一接通,IMS会返回487,然后就挂掉了 经查是maxptime 与移动IMS不匹配造成,移动要求是240,但是asterisk的 ...

最新文章

  1. 编程基础 垃圾回收_为什么我回收编程问题
  2. Android p2p service,android – WifiP2pDnsSdServiceInfo.newInstance中的可用服务类型
  3. 跳出误区:Java程序员进阶架构师真的没你想象的那么简单......
  4. 【综述】深度长尾学习
  5. 连续投影算法_中航国画荣获“2020 IAV国际视听嘉年华” 大屏幕投影显示行业三大奖项!...
  6. sql将html转成excel,使用SQL*PLUS,构建完美excel或html输出
  7. mysql检查文件_如何检查和修复MySQL数据文件?
  8. springboot整合H2内存数据库,实现单元测试与数据库无关性
  9. select count(*)和select count(1)
  10. 昇腾AI处理器软件栈--流程编排器(Matrix)
  11. 统计标点符号的次数 java_Java实现统计一篇文章中每个单词出现的次数
  12. Angular2 管道
  13. 出现画面抖动_手机拍照时模糊,抖动?赶紧来拯救你的拍摄技术吧!
  14. VS2008安装部署应用程序安装包制作过程
  15. 华为公司“22个不”
  16. android 9.0 开机动画,Android bootanim开机动画启动流程
  17. 开放手机联盟(OHA)
  18. Android TV机顶盒开发简单介绍
  19. Springboot 系列(十一)使用 Mybatis(结合自动化生成插件) 访问数据库
  20. Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】

热门文章

  1. 美通社企业新闻汇总 | 2019.2.28 | 软银愿景基金15亿美元投资车好多集团;凯悦携手如家创建合资公司...
  2. 雷卯电子PUSB3FR4完美兼容安世半导体
  3. Sun JAVA 认证介绍
  4. 如何快速搭建红队练习靶场
  5. 故障--桥接网卡的坑
  6. 读书笔记《股票作手回忆录》
  7. linux 导出dump文件
  8. 我的macOS Ventura使用体验报告
  9. bp神经网络和cnn神经网络,bp神经网络与cnn区别
  10. 冯诺依曼结构、哈佛结构、改进型哈佛结构