hdu 2072

Posted 庸人自扰扰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 2072相关的知识,希望对你有一定的参考价值。

Ps:啊啊啊啊啊啊!WA了N次!真的是N次......终于做出来了...想哭的心情都有了...

这道题要考虑前面有N个空格,中间有N个空格,后面也有N个空格....然后就是输入空格....

贴上代码:

#include "stdio.h"
#include "string.h"
void qdele(char a[]);    
void hdele(char a[]);    
char b[2000][2000];    
int main(){
    int i,s,j,flag[2000],k,t,num;
    char a[2000];
    while(gets(a)){
        if(a[0]==#) return 0;
        qdele(a);
        hdele(a);
        s=strlen(a);
        memset(b,\0,sizeof(b));
        k=t=0;
        if(s==0){
            printf("0\n");
            continue;
        }
        for(i=0;i<s;i++){
            if(a[i]== ){
                if(a[i+1]== ) continue;
                b[t][k]=\0;
                flag[t]=1;
                t++;
                k=0;continue;
                
            }
            b[t][k++]=a[i];
        }
        b[t][k]=\0;
        flag[t]=1;
        num=t+1;
        for(i=0;i<=t;i++){
            if(flag[i]==0) continue;
            for(j=i;j<t;j++){
                if(strcmp(b[i],b[j+1])==0){
                    flag[j+1]=0;
                    num--;
                }
            }
        }
        printf("%d\n",num);
    }
    return 0;
}
void qdele(char a[]){
    int i,s;
    s=strlen(a);
    for(i=0;i<s;i++){
        if(a[i]!= ) break;
    }
    int t=0;
    for(;i<s;i++){
        a[t]=a[i];
        t++;
    }
    a[t]=\0;
}
void hdele(char a[]){
    int i,s;
    s=strlen(a);
    for(i=s-1;i>=0;i--){
        if(a[i]!= ) break;
    }
    a[i+1]=\0;
}

 

以上是关于hdu 2072的主要内容,如果未能解决你的问题,请参考以下文章

HDU2072回文串

hdu 2072

加强赛第五轮G题(G - 单词数 HDU - 2072 )

HDU 2072 单词数

HDU 2072 *单词数

hdu 2072 单词数