| ||||||||||
| 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:scau201727010609 at 2018-07-18 13:58:53 > #include <iostream>
> #include <cstdio>
> #include <cstring>
> #include <algorithm>
>
> using namespace std;
> struct number
> {
> char s[1000];
> int times;
> int num;
> }present[100000];
> char suit[26]={'2','2','2','3','3','3','4','4','4','5','5','5','6','6','6','7','7','7','7','8','8','8','9','9','9'};
> char result[1000]={0};
> bool cmp(struct number a,struct number b)
> {
> for(int i=0;i<strlen(a.s);i++)
> {
> if(a.s[i]!=b.s[i])
> return a.s[i]<b.s[i];
> }
> return a.num<b.num;
> }
>
> int main()
> {
> int n,i,j,k,flag;
> char ts[1000]={0};
> cin>>n;
> fflush(stdin);
> k=0;
> while(n--)
> {
> i=0;
> gets(ts);
> for(j=0;j<strlen(ts);j++)
> {
> if('A'<=ts[j]&&ts[j]<'Z')
> result[i++]=suit[ts[j]-'A'];
> else if('0'<=ts[j]&&ts[j]<='9')
> result[i++]=ts[j];
> if(i==3)
> result[i++]='-';
> }
> //printf("%s\n",result);
> flag=0;
> for(j=0;j<k;j++)
> {
> if(strcmp(result,present[j].s)==0)
> {
> present[j].times++;
> flag=1;
> break;
> }
> }
> if(!flag)
> {
> strcpy(present[k].s,result);
> present[k].times=1;
> present[k].num=k;
> k++;
> }
> }
> sort(present,present+k+1,cmp);
> for(i=0;i<k;i++)
> if(present[i].times>=2)
> printf("%s %d\n",present[i].s,present[i].times);
>
> return 0;
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator