最近在家赋闲,一方面焦急等待中科院的通知,一方面对于字符串处理与模式匹配颇多问题,下定决心从头学起。
家里有时环境比较乱,只好找些水题怡情,随时补充吧。
hdu 1200 To and Fro
本题范围比较小,直接将读进的数组转为二维数组,然后用二维数组先读列的方式输出既可。
1 #include<stdio.h> 2 #include<string.h> 3 char input[2000]; 4 char ans[200][21]; 5 int main() 6 { 7 int T=1; 8 while(T!=0) 9 { 10 scanf("%d",&T); 11 if(T==0)break; 12 scanf("%s",input); 13 int count=0; 14 int L=strlen(input); 15 16 int j=0,mj; 17 for(j=0;;j++) 18 { 19 for(int i=0;i<T;i++) 20 { 21 if(j%2==0) 22 { 23 ans[j][i]=input[count]; 24 count++; 25 } 26 else 27 { 28 ans[j][T-i-1]=input[count]; 29 count++; 30 } 31 } 32 if(j*T==L) 33 { 34 mj=j; 35 break; 36 } 37 } 38 39 for(int i=0;i<T;i++) 40 for(int j=0;j<mj;j++) 41 printf("%c",ans[j][i]); 42 printf(" "); 43 } 44 return 0; 45 }
hdu 1088 Write a simple HTML Browser
从网上随便搜索字符串相关题目,看到这个题目评价说比较特别,于是兴致勃勃的去读题,然后想也不想直接去拍,果然是个坑爹的模拟。
题意颤颤巍巍的看懂了,但还不是太确定,第一遍果然PE了。
后来改了几个地方:<br><hr>这两个其实没什么好说的,正常拍即可
我的问题主要在于正常字符带空格输出,最终决定采用将空格输出到本次单词的前面,随之而来的就是第一行第一个词的输出,改好这两处,再将文章结尾输出回车即可。
对于读入方式,没想到%s还是比较好的,不会读入空白符。。
1 #include<stdio.h> 2 #include<string.h> 3 char a[80]; 4 int cur=0; 5 int main() 6 { 7 while(scanf("%s",a)!=EOF) 8 { 9 if(a[0]=='<') 10 { 11 if(a[1]=='b') 12 { 13 printf(" "); 14 cur=0; 15 } 16 if(a[1]=='h') 17 { 18 if(cur!=0)printf(" "); 19 for(int i=0;i<80;i++) 20 printf("-"); 21 printf(" "); 22 cur=0; 23 } 24 } 25 else 26 { 27 28 if(cur+strlen(a)+1<=80) 29 { 30 if(cur==0) 31 { 32 printf("%s",a); 33 cur=strlen(a); 34 } 35 else 36 { 37 printf(" %s",a); 38 cur+=strlen(a)+1; 39 } 40 } 41 42 else 43 { 44 45 printf(" "); 46 printf("%s",a); 47 cur=strlen(a); 48 } 49 } 50 51 } 52 printf(" "); 53 return 0; 54 }