#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. heartbleed漏洞利用

    1.  heartbleed漏洞扫描: 2.  heartbleed漏洞利用: poc.py      117.52.93.111 貌似没有打到管理员账号密码,可能是管理员没登录,其实,可以写一个自动 ...

  2. 递归函数解决n到m之间求和问题

    int main() { int n,m; ; scanf("%d %d",&n,&m); result=fun(n,m); printf("%d&quo ...

  3. SpringMVC框架的工作原理

    学习SpringMVC的工作原理,首先有三个要解决的问题: (1)DispathcherServlet框架如何截获特定的HTTP请求,交由SpringMVC处理? (2)位于Web层的Spring容器 ...

  4. Linux动态库的编译与使用 转载

    http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Linux下 ...

  5. python中raw_input() 与 input()

    参考网址:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html 在python中如何接收一个输入的字符串. 举个例子: ...

  6. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  7. oracle唯一索引与普通索引的区别和联系以及using index用法

    oracle唯一索引与普通索引的区别和联系 区别:唯一索引unique index和一般索引normal index最大的差异是在索引列上增加一层唯一约束.添加唯一索引的数据列可以为空,但是只要尊在数 ...

  8. Python XML解析(转载)

    Python XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是 ...

  9. 如何解决Mac里面解压后文件名乱码问题

    如果你把Mac当成你的主要工作机器,而你的同事用的都是Windows,有时候交换文档就是一件很痛苦的事,比如今天要说到的问题:当同事传给你一个zip文件,结果你拿过来解压后发现里面有些文件的文件名如果 ...

  10. C#之LinQ数据库

    一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指 ...