题目链接

思路

开个一千万的数组计数,最后遍历即可。

#include<stdio.h>
#include<string.h>
#include<algorithm> using namespace std;
int num=0;
int mymap[10000000] = {0}; int change(char a[201])
{
int j=0, result=0;
for(int i=0;i<strlen(a);i++)
{
if(a[i] == '-') continue;
if(a[i] <= '9' && a[i] >= '0')
{
result = result*10+a[i]-'0';
continue;
}
if( a[i] <= 'O' && a[i] >= 'A' )
{
result = result*10+ (int)((a[i]-'A')/3) + 2;
continue;
}
switch (a[i])
{
case 'P':
case 'R':
case 'S':
result = result*10+7;
break;
case 'T':
case 'U':
case 'V':
result = result*10+8;
break;
case 'W':
case 'X':
case 'Y':
result = result*10+9;
break;
}
}
return result;
}
int main()
{
int n,times=0;
char temp[201];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%s",temp);
int flag = 0, t;
t = change(temp);
mymap[t] ++;
} int flag = 0;
for(int i=0;i<10000000;i++)
{
if(mymap[i] < 2) continue;
flag = 1;
char p[8] = {0};
sprintf(p,"%d",i);
if( strlen(p) <= 4 )
{
for(int j=0;j<3;j++)
printf("0");
printf("-");
for(int j=0;j<4-strlen(p);j++)
printf("0");
for(int j=0;j<strlen(p);j++)
printf("%c",p[j]);
}
else
{
for(int j=0;j<7-strlen(p);j++)
printf("0");
for(int j=0;j<strlen(p)-4;j++)
printf("%c",p[j]);
printf("-");
for(int j=strlen(p)-4;j<strlen(p);j++)
printf("%c",p[j]);
}
printf(" %d\n",mymap[i]);
}
if( flag == 0 ) puts("No duplicates.");
return 0;
}

百炼OJ - 1002 - 方便记忆的电话号码的更多相关文章

  1. PKU OJ 1002 487-3279

    PKU OJ 1002 487-3279 487-3279 Description Businesses like to have memorable telephone numbers. One w ...

  2. 九度OJ 1002:Grading

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:18410 解决:4753 题目描述: Grading hundreds of thousands of Graduate Entrance ...

  3. Light oj 1002 Country Roads (Dijkstra)

    题目连接: http://www.lightoj.com/volume_showproblem.php?problem=1002 题目描述: 有n个城市,从0到n-1开始编号,n个城市之间有m条边,中 ...

  4. OJ#1002 又是a+b

    题目描述: 给定两个正整数a.b(0 < a,b < =10000),求出a+b的和 输入描述: 多组输入,每组输入为一行,里面有2个数a,b(0 < a,b < =10000 ...

  5. oj 1002题 (大数题)

    #include <stdio.h> #include <string.h> int main(void) { int q,j,h,k,l; int d; ],s2[];//题 ...

  6. 九度oj 1002 Grading 2011年浙江大学计算机及软件工程研究生机试真题

    #include<iostream> #include<queue> #include<cstdio> #include<cstring> #inclu ...

  7. 杭电oj 1002

    #include <iostream> #include <algorithm> using namespace std; int nCases; ], n[]; ], b[] ...

  8. PKU 百炼OJ 简单密码

    http://bailian.openjudge.cn/practice/2767/ #include<iostream> #include <cmath> #include ...

  9. PKU 百炼OJ 奖学金

    http://bailian.openjudge.cn/ss2017/A/ #include<iostream> #include <cmath> #include <m ...

随机推荐

  1. BZOJ2780(广义后缀自动机,set启发式合并)

    BZOJ2780(广义后缀自动机,set启发式合并) 题面 自己找去 HINT 就是给多个文本串,然后每次查询的时候问你这个串在多少个文本串中出现过.因为多个文本串,那么直接就往广义后缀自动机上思考啊 ...

  2. 51Nod 1182 完美字符串 (贪心)

    约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写.(也就是说字母F和f)的完美度相同. ...

  3. 模拟退火SA刷题记录

    洛谷P1337 [JSOI2004]平衡点 / 吊打XXX 基本上是照着别人的代码写的,模拟退火为什么一定能找到答案呢...迷惑,,有时间搜一搜证明啥的 sa步骤:这个是要确定一个(xi,yi)使得函 ...

  4. 改善深层神经网络(三)超参数调试、Batch正则化和程序框架

    1.超参数调试: (1)超参数寻找策略: 对于所有超参数遍历求最优参数不可取,因为超参数的个数可能很多,可选的数据过于庞大. 由于最优参数周围的参数也可能比较好,所以可取的方法是:在一定的尺度范围内随 ...

  5. windows安装python64位和32位的方法

    1.先安装python 64位的 python,创建一个64位的python虚拟环境: 2.再安装python 32位的 python,创建一个32位的python虚拟环境即可. 注意:两个版本安装在 ...

  6. phpstorm格式化数组

    如果我们想要的这样的数组格式的话,可以设置 <?php $arr = array["a" => 0, "b" => 1, "c&qu ...

  7. C语言-无符号数与有符号数不为人知的秘密

    一.无符号数与有符号数 1.计算机中的符号位 数据类型的最高位用于标识数据的符号 -最高位为1,表明这个数为负数 -最高位为0,表明这个数为正数 #include <stdio.h> in ...

  8. Pandownload---windows下几乎无敌的网盘下载神器

    近几天光顾着mac了,今天咱来聊聊Windows. 这个就不多说了,直接贴图. 网页版截图. 电脑版截图. 网页版2020.2.1的时候是失效的,别问我为什么不现在测试,用不着. 不用担心不知道密码, ...

  9. linux常用命令和字符串乱码

    top :动态实时显示cpu.内存.进程等使用情况(类似windows下的任务管理器) ps aux 查看所有进程 ps aux|grep java 查看java进程 kill -9 进程号 :强制杀 ...

  10. 高级特征工程I

    Mean encodings 以下是Coursera上的How to Win a Data Science Competition: Learn from Top Kagglers课程笔记. 学习目标 ...