1 solutions

  • 0
    @ 2025-11-5 15:02:17

    C :

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    char m[]="22233344455566677778889999";
    int p[10000000];
    char buf[1000];
    int i,j,k,duplicate;
    int main()
    {
        int n;
        memset(p,0,sizeof(p));
        scanf("%d\n",&n);
        for(i=0;i<n&&gets(buf);i++)
         {
           int tel=0;
           for(k=j=0;buf[j];++j)
            {
    
                if(buf[j]=='-') continue;
                if(buf[j]>='A'&&buf[j]<='Z')
                {
                    tel=tel*10+m[buf[j]-'A']-'0';
                }
                else if(buf[j]>='0'&&buf[j]<='9')
                {
                    tel=tel*10+buf[j]-'0';
                }
    
            }
            ++p[tel];
         }
         duplicate=0;
         for(i=0;i<9999999;++i)
         {
    
                 if(p[i]>1)
                 {
                     printf("%03d-%04d %d\n",i/10000,i%10000,p[i]);
                     duplicate=1;
                 }
         }
         if(duplicate==0)
            puts("No duplicates.");
      return 0;
    }
    
    
    • 1

    Information

    ID
    16354
    Time
    2000ms
    Memory
    64MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By