zoukankan      html  css  js  c++  java
  • POJ 1002

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <stdlib.h>
     4 struct In{
     5     int a;
     6     int num[10];
     7 }pu_1[100050];
     8 
     9 int cmp(const void*c,const void*d)
    10 {
    11     return (*(In *)c).a-(*(In *)d).a;
    12 }
    13 
    14 
    15 
    16 char str_1[100050][300]={0};
    17 int pu_2[100050][2]={0};
    18 int main()
    19 {
    20     int i,j,m,n,flog,k;
    21     scanf("%d",&m);
    22     for(i=0;i<m;i++)
    23         scanf("%s",str_1[i]);
    24     for(i=0;i<m;i++)
    25         for(j=0,n=1000000,k=1,pu_1[i].a=0;j<strlen(str_1[i]);j++)
    26         {
    27             if(str_1[i][j]<='9'&&str_1[i][j]>='0')
    28             {
    29                 pu_1[i].a+=(str_1[i][j]-'0')*n;
    30                 n/=10;
    31                 pu_1[i].num[k]=str_1[i][j]-'0';
    32                 k++;
    33             }
    34             if(str_1[i][j]<='P'&&str_1[i][j]>='A')
    35             {
    36                 pu_1[i].a+=((str_1[i][j]-'A')/3+2)*n;
    37                 n/=10;
    38                 pu_1[i].num[k]=(str_1[i][j]-'A')/3+2;
    39                 k++;
    40             }
    41             if(str_1[i][j]>'Q'&&str_1[i][j]<='Y')
    42             {
    43                 pu_1[i].a+=(((str_1[i][j])-'Q')/3+7)*n;
    44                 n/=10;
    45                 pu_1[i].num[k]=(str_1[i][j]-'Q')/3+7;
    46                 k++;
    47             }
    48         }
    49     qsort(pu_1,m,sizeof(pu_1[0]),cmp);
    50     for(i=0,j=0;i<m;i++)
    51     {
    52         if(i==0) pu_2[j][0]=pu_1[i].a;
    53         else{
    54             if(pu_1[i].a==pu_2[j][0]) pu_2[j][1]++;
    55             else {
    56                 j++;
    57                 pu_2[j][0]=pu_1[i].a;
    58             }
    59         }
    60     }
    61     for(i=0,j=0,flog=0;i<m;i++)
    62     {
    63         if(pu_2[j][1]!=0&&pu_1[i].a==pu_2[j][0])
    64         {
    65             printf("%d%d%d-%d%d%d%d",pu_1[i].num[1],pu_1[i].num[2],pu_1[i].num[3],pu_1[i].num[4],pu_1[i].num[5],pu_1[i].num[6],pu_1[i].num[7]);
    66             printf(" %d
    ",pu_2[j][1]+1);
    67             flog++;
    68             j++;
    69         }
    70         if(pu_2[j][1]==0) j++;
    71     }
    72     if(flog==0) printf("No duplicates.
    ");
    73     return 0;
    74 }

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

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

    并进行输出

  • 相关阅读:
    Web API 配置Help Page
    Web API Help Page Install WebApiTestClient 简单的测试客户端
    开始一个简单的ASP.NET Web API 2 (C#)
    一些有用的huginn Agent
    jsp填坑:找不到属性
    Oracle学习笔记
    阿里云服务器端配置TensorFlow & jupyter
    重启部署在阿里云上的huginn
    centos升级python2.7到3.6之后造成yum命令报错
    取消layUI中日期选择控件默认填充日期
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/5331324.html
Copyright © 2011-2022 走看看