| ||||||||||
| 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:这样怎么还不对啊?总草时,谁能帮我解决一下?In Reply To:这样怎么还不对啊?总草时,谁能帮我解决一下? Posted by:yuenyun at 2003-07-08 10:14:14 > #include <iostream>
>
> using namespace std;
>
> void qsort(int a[100000],int left,int right);
> void main()
> {
> int a[100000];
> char b[50];
> int num;
> cin>>num;
> if (num<2)
> {
> cin>>b;
> cout<<"No duplicates.";
> }
> else
> {
> for (int i=0;i<num;i++)
> {
> cin>>b;
> int p1=0;
> int result=0;
> for (int j=0;j<strlen(b);j++)
> {
> char tmp=b[j];
> switch(tmp)
> {
> case('A'):
> case('B'):
> case('C'):
> {
> b[j]='2';
> break;
> }
> case('D'):
> case('E'):
> case('F'):
> {
> b[j]='3';
> break;
> }
> case('G'):
> case('H'):
> case('I'):
> {
> b[j]='4';
> break;
> }
> case('J'):
> case('K'):
> case('L'):
> {
> b[j]='5';
> break;
> }
> case('M'):
> case('N'):
> case('O'):
> {
> b[j]='6';
> break;
> }
> case('P'):
> case('R'):
> case('S'):
> {
> b[j]='7';
> break;
> }
> case('T'):
> case('U'):
> case('V'):
> {
> b[j]='8';
> break;
> }
> case('W'):
> case('X'):
> case('Y'):
> {
> b[j]='9';
> break;
> }
>
> case(' '):
> {
> b[j]='.';
> break;
> }
> }
>
>
> if (b[j]>='0' && b[j]<='9')
> {
> b[p1++]=b[j];
> result=10*result+b[j]-('1'-1);
> }
> }
> a[i]=result;
> }
> qsort(a,0,num-1);
> int flag=0;
> int pp=0;
> while(pp<num)
> {
> int sum=1;
> int i=1;
> while(a[pp]==a[pp+i])
> {
> i++;
> sum++;
> }
> if (sum>1)
> {
> int x1=a[pp]/10000;
> int y1=a[pp] % 10000;
>
> if (x1>99)
> cout<<x1<<"-";
> else if (x1>9)
> cout<<"0"<<x1<<"-";
> else
> cout<<"00"<<x1<<"-";
> //cout<<"-";
> if (y1>999)
> cout<<y1<<" "<<sum<<endl;
> else if (y1>99)
> cout<<"0"<<y1<<" "<<sum<<endl;
> else if (y1>9)
> cout<<"00"<<y1<<" "<<sum<<endl;
> else if (y1>=0)
> cout<<"000"<<y1<<" "<<sum<<endl;
> flag=1;
> // cout<<" "<<sum<<endl;
> }
>
> pp=pp+i;
> }
> if (flag==0)
> cout<<"No duplicates.";
> }
> }
> void qsort(int a[100000],int left,int right)
> {
> if (left<right)
> {
> int lft=left;
> for (int b=lft+1;b<=right;b++)
> if ((a[b]<a[left]) && b!=++lft)
> {
> int t;
> t=a[lft];
> a[lft]=a[b];
> a[b]=t;
> /* swap(a[b],a[lft]);*/
> }
> int t1;
> t1=a[lft];
> a[lft]=a[left];
> a[left]=t1;
> /* swap(a[left],a[lft]);*/
> qsort(a,left,lft-1);
> qsort(a,lft+1,right);
> }
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator