【Peking University Online Judge】1002 (487-3279)
2015-01-30 20:15
381 查看
<pre name="code" class="plain">#include<stdio.h> #include<ctype.h> int compare_string(char*,char*); void base_sort(char (*a)[7],int p,int q); int main(void){ long n; while(scanf("%ld",&n)!=EOF){ char c,a [7]; int b ,index=0; getchar(); for(int i=0;i<n;i++){ for(int j=0;j<7;j++){ while((c=getchar())=='-') continue; if(isalpha(c)){ if(c>'Q') c-=1; a[i][j]=(c-'A')/3+2+'0'; }else a[i][j]=c; } b[i]=0; while((c=getchar())=='-') continue; } while((c=getchar())=='-') continue; base_sort(a,0,n-1); for(int i=0;i<n;i++){ int j=i+1; while(j<n&&compare_string(a[i],a[j])==0){ b[i]+=1; b[j]=-1; j++; } if(b[i]>0){ index=1; for(int j=0;j<3;j++) printf("%c",a[i][j]); printf("-"); for(int j=3;j<7;j++) printf("%c",a[i][j]); printf(" %d\n",b[i]+1); } i=j-1; } if(index==0) printf("No duplicates.\n"); } return 0; } int compare_string(char* a,char* b){ for(int i=0;i<7;i++){ if(a[i]<b[i]) return -1; if(a[i]>b[i]) return 1; } return 0; } void base_sort(char (*a)[7],int p,int q){ char b[10][q-p+1][7]; int d[10]={0,0,0,0,0,0,0,0,0,0}; for(int i=6;i>=0;i--){ for(int j=p;j<=q;j++){ for(int k=0;k<7;k++) b[a[j][i]-'0'][d[a[j][i]-'0']][k]=a[j][k]; d[a[j][i]-'0']++; } int h=0; for(int j=0;j<10;j++){ for(int k=0;k<d[j];k++){ for(int l=0;l<7;l++) a[p+h][l]=b[j][k][l]; h++; } d[j]=0; } } }
相关文章推荐
- 【Peking University Online Judge】1012(Joseph)
- 【Peking University Online Judge】1183(反正切函数的应用)
- 【Peking University Online Judge】1189(钉子和小球)
- OpenJudge / POJ 1002 487-3279 解题报告 C++
- 【Peking University Online Judge】1852(Ants)
- 【Peking University Online Judge】2431(Expedition)
- 【Peking University Online Judge】2453(An Easy Problem)
- 【Peking University Online Judge】3069(Saruman's Army)
- 【Peking University Online Judge】3253(Fence Repair)
- 【Peking University Online Judge】3617(Best Cow Line)
- 【Peking University Online Judge】1003(Hangover)
- 【Peking University Online Judge】1004(Financial Management)
- 【Peking University Online Judge】1006(Biorhythms)
- 【Peking University Online Judge】1007(DNA Sorting)
- 【Peking University Online Judge】1008(Maya Calendar)
- poj1002 487-3279
- OJ百练1002 487-3279
- POJ 1002 487-3279
- 487-3279 - PKU 1002
- poj 1002 487-3279