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的主要内容,如果未能解决你的问题,请参考以下文章