poj 1750 Dictionary 模拟

找到规律了还是简单,不过郁闷的是要C++才不超时..

if 匹配的个数>空格数  空格数+1;

else 空格数=匹配个数;

View Code
 1 #include <stdio.h>
2 #include <string.h>
3
4 int k=1;
5 char s[100005][15];
6
7 int match()
8 {
9 int i;
10 for (i=0;s[k][i]&&s[k-1][i];i++)
11 {
12 if(s[k-1][i]!=s[k][i])return i;
13 }
14 return i;
15 }
16
17 int main()
18 {
19 int i,a,n=0;
20 while (scanf("%s",s[k])!=EOF)
21 {
22 a=match();
23 if(a>n)++n;
24 else n=a;
25 for(i=0;i<n;i++)printf("");
26 printf("%s\n",s[k++]);
27 }
28 return 0;
29 }



posted @ 2011-10-28 09:03  104_gogo  阅读(277)  评论(0编辑  收藏  举报