| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:感觉写得还行的代码,贴之: 916K 375MS G++In Reply To:感觉写得还行的代码,贴之: 916K 375MS G++ Posted by:Pcz at 2012-04-22 21:07:24 > #include <cstdio>
> #include <algorithm>
> using namespace std;
> char s[31];
>
> int Hash()
> {
> int sum=0;
> for(int i=0,k=0;k<7;i++)
> {
> if(s[i]>='0'&&s[i]<='9')
> {
> sum*=10;k++;
> sum+=(s[i]-'0');
> }
> else if(s[i]>='A'&&s[i]<'Z')
> {
> sum*=10;k++;
> sum+=((s[i]-'A'-(s[i]>'Q'))/3+2);
> }
> }
> return sum;
> }
>
> int main()
> {
>
> int n;scanf("%d",&n);
> int data[n];getchar();
> for(int tmp=0;tmp<n;tmp++)
> {
> gets(s);
> data[tmp]=Hash();
> }
> sort(data,data+n);
> bool p=false;n--;
> for(int i=0,num=1;i<n;i+=num=1)
> {
> while(data[i]==data[i+1])
> {
> num++;
> i++;
> }
> if(num>1)
> {
> printf("%03d-%04d %d\n",data[i]/10000,data[i]%10000,num);
> p=true;
> }
> }
> if(!p)printf("No duplicates.\n");
> return 0;
> }
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator