UVa:755 - 487--3279
题意:找出有重复的电话号码,输出这些号码的标准形式和出现的次数。
当电话号码不足7位时,用‘0’补位。
刚开始以为用边输入边比较,最后排序输出是最高效的算法,但一直Time limit exceeded,“山外青山楼外楼”,网友们的算法更是巧妙和高效啊,涨姿势了。
发现一点:用sort函数无法对二维字符数组进行排序,只能将二维数组转换成结构体数组,再对结构体数组进行排序。
Code:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<algorithm>
using namespace std;
struct DS{char pn[300];
};
DS ds[100010];char mapn[30]="22233344455566670778889990",s[300];bool cmp(DS a,DS b)
{return strcmp(a.pn,b.pn)<0;
}int main()
{int N;scanf("%d",&N);while(N--){int n;scanf("%d",&n);getchar();for(int i=0;i<n;i++){int t=0;char ch;memset(s,0,sizeof(s));while(ch=getchar()){if(ch!='\n'){if(isalpha(ch)){int e=ch-'A';s[t++]=mapn[e];}if(isdigit(ch))s[t++]=ch;}elsebreak;}if(t<7){for(int j=t;j<7;j++)s[j]='0';}s[7]='\0';strcpy(ds[i].pn,s);}sort(ds,ds+n,cmp);int num=0,p=0,j=0;for(int i=0;i<n;i++){if(strcmp(ds[j].pn,ds[i].pn)==0)num++;else{if(num>1){p=1;for(int k=0;k<7;k++){printf("%c",ds[j].pn[k]);if(k==2)printf("-");}printf(" %d\n",num);}j=i;num=1;}if(i==n-1&&num>1){p=1;for(int k=0;k<7;k++){printf("%c",ds[j].pn[k]);if(k==2)printf("-");}printf(" %d\n",num);}}if(!p)printf("No duplicates.\n");if(N) printf("\n");}return 0;
}
--------------------------------------------------------------------------------------------
Keep It Simple,Stupid!
--------------------------------------------------------------------------------------------
UVa:755 - 487--3279相关推荐
- UVA:1593 代码对齐
题意:输入若干行代码,要求各列单词的左边界对齐且尽量靠左.单词之间要求至少空一格.每个单词不超过80个字符,每行不超过180个字符,一共最多1000行. 思路:对每一行输入进行处理,去除所有空格,只保 ...
- UVA:1600 巡逻机器人
转载:https://blog.csdn.net/u014004096/article/details/42920629 题意大概: 机器人要从一个m*n(m和n的范围都在1到20的闭区间内)的网格的 ...
- UVA:10118 Free Candies
题目链接 题目大意: 有4堆糖果,每一堆有n个糖果,有一个篮子,这个篮子的最大容量为5块糖,每一次从这四堆中选择一堆,然后将最上面的糖果拿下来,放到篮子里面去,如果有相同两块糖的就把这:两块糖拿出来, ...
- 推荐:PHPCMS v9 安全防范教程!
一.目录权限设置很重要:可以有效防范黑客上传木马文件. 如果通过 chmod 644 * -R 的话,php文件就没有权限访问了. 如果通过chmod 755 * -R 的话,php文件的权限就高了. ...
- Linux文件权限:特殊权限、权限属性、权限掩码
目录 特殊权限 概述 取值 作用 SUID 概述 授权方式 测试案例 SUID总结 SGID 概述 授权方式 测试案例 SUID总结 SBIT(sticky) 概述 授权方式 测试案例 SUID总结 ...
- Linux 的chmod权限数字777、755、644代表什么?
chmod Linux/Unix 的档案调用权限分为三级 : 档案拥有者.群组.其他. 这是比较官方的话,可能不太好理解 我来举个例子 假设你有一本书,那么<档案拥有者>就相当于你那本书的 ...
- 每天学习一个设计模式(八):创建型之抽象工厂模式
目录 一.基本概念 二.通俗解释 三.应用场景 1.使用简单工厂模式的解决方案 2.抽象工厂模式 抽象工厂模式结构 在什么情况下应当使用抽象工厂模式 抽象工厂模式的起源 四.抽象工厂模式的优缺点 抽象 ...
- UVa 321 The New Villa,2B青年怒找卧室
题目链接: UVA : http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24 ...
- 记录一次FTP登录500 OOPS:cannot change directory解决方案
因业务需求,捡起了好久没碰的代码和Linux,学会了javascript和node-red等.填平了好多坑,还比较开心.在开心之余又碰到了一个FTP登录问题. 背景:需要修改用户家目录. 直接上图 如 ...
最新文章
- 集成有MAX1169,MAX520的DAAC单片STC8G1K08机电路板
- Caused by: java.net.UnknownHostException: localhost.localdomain: localhost.localdomain的问题解决
- 微信视频号推荐算法上分技巧
- 时序分析:串匹配—Brute-Force算法
- vaadin_Vaadin Flow –奇妙的鹿
- java关闭窗口函数_2016年将是Java终于拥有窗口函数的那一年!
- Creating Apps With Material Design —— Creating Lists and Cards
- python绘制三维图散点图_python matplotlib模块——绘制三维图形、三维数据散点图...
- 亚马逊AWS IoT
- python 全栈开发,Day109(客户管理之动态二级菜单)
- JFrame真正全屏
- 计算机网络课设--小型企业网络的规划与设计
- s7200cpu224xp手册_西门子plc s7-200系列|s7-200 cpu224xp|CPU224 XP 高速I/O
- 城市智慧灯杆解决方案
- 谷歌搜索组建discuz!_Google的热门搜索结果? 惊喜! 是谷歌
- 微信开放平台Android常见问题
- iOS应用发布流程详解
- WTL自绘界面库(CQsStatic)
- RTX 4070TI和RTX 3090TI性能哪个好 RTX 4070ti和RTX3090ti 差距
- 石化煤矿化工行业安全生产风险预警系统软件