#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct In{
int a;
int num[];
}pu_1[]; int cmp(const void*c,const void*d)
{
return (*(In *)c).a-(*(In *)d).a;
} char str_1[][]={};
int pu_2[][]={};
int main()
{
int i,j,m,n,flog,k;
scanf("%d",&m);
for(i=;i<m;i++)
scanf("%s",str_1[i]);
for(i=;i<m;i++)
for(j=,n=,k=,pu_1[i].a=;j<strlen(str_1[i]);j++)
{
if(str_1[i][j]<=''&&str_1[i][j]>='')
{
pu_1[i].a+=(str_1[i][j]-'')*n;
n/=;
pu_1[i].num[k]=str_1[i][j]-'';
k++;
}
if(str_1[i][j]<='P'&&str_1[i][j]>='A')
{
pu_1[i].a+=((str_1[i][j]-'A')/+)*n;
n/=;
pu_1[i].num[k]=(str_1[i][j]-'A')/+;
k++;
}
if(str_1[i][j]>'Q'&&str_1[i][j]<='Y')
{
pu_1[i].a+=(((str_1[i][j])-'Q')/+)*n;
n/=;
pu_1[i].num[k]=(str_1[i][j]-'Q')/+;
k++;
}
}
qsort(pu_1,m,sizeof(pu_1[]),cmp);
for(i=,j=;i<m;i++)
{
if(i==) pu_2[j][]=pu_1[i].a;
else{
if(pu_1[i].a==pu_2[j][]) pu_2[j][]++;
else {
j++;
pu_2[j][]=pu_1[i].a;
}
}
}
for(i=,j=,flog=;i<m;i++)
{
if(pu_2[j][]!=&&pu_1[i].a==pu_2[j][])
{
printf("%d%d%d-%d%d%d%d",pu_1[i].num[],pu_1[i].num[],pu_1[i].num[],pu_1[i].num[],pu_1[i].num[],pu_1[i].num[],pu_1[i].num[]);
printf(" %d\n",pu_2[j][]+);
flog++;
j++;
}
if(pu_2[j][]==) j++;
}
if(flog==) printf("No duplicates.\n");
return ;
}

利用一个结构体,一个存号码的数字和,一个存它的每一位数,考虑0开头的号码

然后再利用结构体进行排序

并进行输出

POJ 1002的更多相关文章

  1. 字符串专题:map POJ 1002

    第一次用到是在‘校内赛总结’扫地那道题里面,大同小异 map<string,int>str 可以专用做做字符串的匹配之类的处理 string donser; str [donser]++ ...

  2. POJ 1002 487-3279

    A - 487-3279 Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ...

  3. [POJ 1002] 487-3279 C++解题报告

        487-3279 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 228365   Accepted: 39826 D ...

  4. Poj 1002 487-3279(二叉搜索树)

    题目链接:http://poj.org/problem?id=1002 思路分析:先对输入字符进行处理,转换为标准形式:插入标准形式的电话号码到查找树中,若有相同号码计数器增加1,再中序遍历查找树. ...

  5. 开篇,UVA 755 && POJ 1002 487--3279 (Trie + DFS / sort)

    博客第一篇写在11月1号,果然die die die die die alone~ 一道不太难的题,白书里被放到排序这一节,半年前用快排A过一次,但是现在做的时候发现可以用字典树加深搜,于是乐呵呵的开 ...

  6. POJ 1002 UVA 755 487--3279 电话排序 简单但不容易的水题

    题意:给你许多串字符串,从中提取电话号码,输出出现复数次的电话号码及次数. 以下是我艰难的AC历程:(这题估计是我刷的题目题解次数排前的了...) 题目不是很难理解,刚开始想到用map,但stl的ma ...

  7. poj 1002:487-3279(水题,提高题 / hash)

    487-3279 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 236746   Accepted: 41288 Descr ...

  8. [POJ] #1002# 487-3279 : 桶排序/字典树(Trie树)/快速排序

    一. 题目 487-3279 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 274040   Accepted: 48891 ...

  9. POJ 1002 - 487-3279 STL

    先把不是标准格式的字符串变成标准格式再输出出现两次以上的标准串和出现的次数不然输出 "No duplicates." #include <iostream> #incl ...

随机推荐

  1. php引入lucene方法

    在引入Lucene之前,先说下PHP JAVA Bridge的概念: PHP JAVA Bridge:就是在PHP和Java之间搭建一座桥梁,利用这座桥梁在这两个实体之间建立起一个沟通渠道,在这座桥梁 ...

  2. C-函数与内存剖析

    功能,封装,调用 形参:定义函数时函数名后面中的参数,形式参数 实参:调用函数时传入的具体数据 return作用:1退出函数 2返回一个具体数值给调用者 返回值: 如果不明确声明返回值类型,默认就是i ...

  3. .NET4.0 __doPostBack未定义

    方法一.浏览器设置成兼容模式. 方法二.安装服务器版的.Net40的补丁.http://download.csdn.net/detail/5653325/6642051 方法三.点击VS的工具菜单-- ...

  4. vim 创建和管理折叠

    参考文章: http://blog.csdn.net/bendanban/article/details/7743530 首先要有折叠, 然后才能说, 打开和关闭 折叠; 打开: zo: zip op ...

  5. 根据不同的实体及其ID来获取数据库中的数据

    /// <summary> /// 根据不同的实体和其ID来获取信息 /// </summary> /// <typeparam name="T"&g ...

  6. 闲扯json取值,联想map取值。

    将list转json(list中的Bean的属性名称为变量,若为常量没必要采用此方式,直接转实体类即可) JSONArray json = JSONArray.fromObject(list); fo ...

  7. iOS开发关于Block代码错误

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4052362.html ,转载请注明出处. iOS开发关于Block代码错误 Incompatible bloc ...

  8. VS上利用C#实现一个简单的串口程序记录

    一.背景 工作上需要利用串口往下位机写入数据,VC太老,正好借此机会来熟悉一直很想接触的VS之C#. 感谢Tony托尼哥的串口通信代码,感谢梦真的C#的技术支持. 二.正文 1.项目架构:(以我现有的 ...

  9. 小心一些,断言可能让你的造成循环引用NSAssert

    block和self的相互引用造成的循环引用,想必大家都是明白的.上下面的代码(截取部分) __weak typeof(self) weakSelf = self; self.jsBridgeFunc ...

  10. Effective Java 读书笔记之三 类和接口

    一.使类和成员的可访问性最小化 1.尽可能地使每个类或者成员不被外界访问. 2.实例域决不能是共有的.包含公有可变域的类不是线程安全的. 3.除了公有静态final域的特殊情形之外,公有类都不应该包含 ...