| ||||||||||
| 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 | |||||||||
水过,注意数组开大和没重复输出No duplicates.#include<iostream>
#include<string.h>
using namespace std;
int Comp(const void* p1,const void* p2)
{
return strcmp((char*)p1,(char*)p2);
}
int main()
{
int Case,N,n=0,i;
char s1[100],s2[100010][100];
cin>>Case;
N=Case;
while(Case--)
{
int j=0;
cin>>s1;
int digit=strlen(s1);
for(i=0;i<digit;i++)
{
if(j==3)
s2[n][j++]='-';
switch(s1[i])
{
case 'A':case 'B':case 'C':s2[n][j++]='2';break;
case 'D':case 'E':case 'F':s2[n][j++]='3';break;
case 'G':case 'H':case 'I':s2[n][j++]='4';break;
case 'J':case 'K':case 'L':s2[n][j++]='5';break;
case 'M':case 'N':case 'O':s2[n][j++]='6';break;
case 'P':case 'R':case 'S':s2[n][j++]='7';break;
case 'T':case 'U':case 'V':s2[n][j++]='8';break;
case 'W':case 'X':case 'Y':s2[n][j++]='9';break;
case '-':break;
default:s2[n][j++]=s1[i];
}
}
s2[n][j]='\0';
n++;
}
qsort(s2,N,sizeof(s2[0]),Comp);
int t=0;
for(i=0;i<N;i++)
{
int number=1;
while(!strcmp(s2[i],s2[i+1])&&(i+1<N))
{
i++;
number++;
}
if(number>1)
{
t++;
cout<<s2[i]<<" "<<number<<endl;
}
}
if(!t)
cout<<"No duplicates."<<endl;
}
最开始没有注意No duplicates. 结果WA了。 然后数组开的30,WA了,后来数组开到100终于过了。
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator