Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include <stdio.h>
- #include <memory.h>
- #include <stdlib.h>
- const int maxn=100005;
- int a[maxn],map[128];
- int cmp(const void *a,const void *b)
- {
- return *(int *)a-*(int *)b;
- }
- void init()
- {
- memset(map,-1,sizeof(map));
- map['A']=map['B']=map['C']=2;
- map['D']=map['E']=map['F']=3;
- map['G']=map['H']=map['I']=4;
- map['J']=map['K']=map['L']=5;
- map['M']=map['N']=map['O']=6;
- map['P']=map['R']=map['S']=7;
- map['T']=map['U']=map['V']=8;
- map['W']=map['X']=map['Y']=9;
- for(int i='0';i<='9';i++) map[i]=i-'0';
- }
- int trans(char s[])
- {
- int ans=0,i;
- for(i=0;s[i];i++) if(map[s[i]]!=-1)
- ans=ans*10+map[s[i]];
- return ans;
- }
- int main()
- {
- int n,i,ans=0,p,cnt;
- char s[125];
- init();
- scanf("%d",&n);
- for(i=0;i<n;i++)
- {
- scanf("%s",s);
- a[i]=trans(s);
- }
- qsort(a,n,sizeof(a[0]),cmp);
- a[n]=-1;
- p=a[0]; cnt=1;
- for(i=1;i<=n;i++) if(p==a[i])
- cnt++;
- else
- {
- if(cnt>1) { ans=1; printf("%03d-%04d %d\n",p/10000,p%10000,cnt); }
- cnt=1;
- p=a[i];
- }
- if(!ans) printf("No duplicates.\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment