#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. MVC 随记

    2014-09-04 [1] Json var contact = new Object(); contact.firstname = "Jesper"; contact.surn ...

  2. Orchard源码分析(4.3):Orchard.Events.EventsModule类(Event Bus)

    概述 采用Event Bus模式(事件总线),可以使观察者模式中的观察者和被观察者实现解耦. 在.Net 中使用观察者模式,可以使用事件(委托)和接口(类).Orchard Event  Bus使用的 ...

  3. python 日志收集系统

    服务器端: #!/usr/bin/env python # -*- coding:utf-8 -*- import socket ip_port = ('0.0.0.0',9999) sk = soc ...

  4. 使用Java练习算法常用的基本操作

    一.使用Java练习算法常常需要使用控制台的数据输入和输出,下面记录一下基本的使用方法: 基本用法 import java.util.*; public class Main { public sta ...

  5. 论Linux运维的一些基础安全知识和简单办法

    不知不觉本人来北京也已经第三个年头了,从一个Linux小小鸟,开始,2012年我参加了第一份工作,其实现在想想其实我是幸运的,本来求学的时候,就没好好的学Linux,我认为有Cisco知识从上wind ...

  6. vijos1741 观光公交 (贪心)

    https://www.vijos.org/p/1741 P1741观光公交 请登录后递交 标签:NOIP提高组2011[显示标签]   描述 风景迷人的小城Y市,拥有n个美丽的景点.由于慕名而来的游 ...

  7. PHP实现各种经典算法

    <?  //--------------------  // 基本数据结构算法 //--------------------  //二分查找(数组里查找某个元素)  function bin_s ...

  8. Win7与XP共享互相访问及共享注意事项!

    win7共享方法和XP类似,主要需要检查以下操作: 1,首先将Guest账户打开 2,右击文件夹-属性-共享选项-高级共享 3,将共享文件√打上,应用-确定即可! 4,查看自己IP(开始-运行-cmd ...

  9. informatica中元数据管理

    摘自: http://blog.itpub.net/28690368/viewspace-766528/ informaica是一个很强大的ETL工具,WORKFLOW MANAGER负责对ETL调度 ...

  10. Linux 之安装文件

    1.首先要检查 rpm -q gcc glibc glibc-common rrdtool rrdtool-devel expat expat-devel pcre pcre-devel dejavu ...