#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. 巧用array_map()和array_reduce()替代foreach循环

    1.array_reduce( $arr , callable $callback ) 使用回调函数迭代地将数组简化为单一的值. 其中$arr 为输入数组,$callback($result , $v ...

  2. python字符类型的一些方法

    python 字符串和字节互转换.bytes(s, encoding = "utf8") str(b, encoding = "utf-8") i.isspac ...

  3. XMLBEANS的使用总结

    在本文中,我们将详细了解最好的数据对象XMLBean.从传统角度来说,在Java应用程序中使用XML,就是在从 XML文档向Java导入数据的技术或从数据模型层向XML导出数据技术之间架起了一座桥梁. ...

  4. Navicat For Mysql快捷键

    1.ctrl+q           打开查询窗口 2.ctrl+/            注释sql语句 3.ctrl+shift +/  解除注释 4.ctrl+r           运行查询窗 ...

  5. Markdown语言详解

    相信大家在github上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的README.md文件,也不曾对这个文件有过什么了解.但是在看到别人写的项目的README.md里面竟然有图 ...

  6. [MongoDB]Profiling性能分析

    摘要 上篇文章介绍了mapReduce这个聚合操作.本篇将继续学习,db有了,collection和document也有,基本上够用了,但是随着项目上线后,发现业务数据越来越多,查询效率越来越慢,这时 ...

  7. 简单实用的PHP防注入类实例

    这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下   本文实例讲述了简单实用的PHP防注 ...

  8. mongodb 与 c++ 的配合使用

    最近在尝试使用 mongodb 作为服务端持久化方案,服务端程序是使用 c++ 写的,折腾了不少时间,记录一下吧. 1.下载 boost 1.56.0 http://www.boost.org/use ...

  9. ktouch移动端事件库

    最近闲来无事,写了个移动端的事件库,代码贴在下面,大家勿拍. /** @version 1.0.0 @author gangli @deprecated 移动端触摸事件库 */ (function ( ...

  10. JavaScript 与函数式编程

    原文:https://bethallchurch.github.io/JavaScript-and-Functional-Programming/ 译文:http://www.zcfy.cc/arti ...