USACO 3.4 American Heritage

数据结构基础。忘了,还得看以前写的。。

 1 /*
 2       ID: cuizhe
 3       LANG: C++
 4       TASK: heritage
 5 */
 6 #include<stdio.h>
 7 #include<string.h>
 8 void build(int n,char *s1,char *s2,char *s)
 9 {
10     int i;
11     if(n <= 0) return ;
12     for(i = 0; i < n; i ++)
13     {
14         if(s1[0] == s2[i])
15             break;
16     }
17     build(i,s1+1,s2,s);
18     build(n-i-1,s1+i+1,s2+i+1,s+i);
19     s[n-1] = s1[0];
20 }
21 int main()
22 {
23     freopen("heritage.in","r",stdin);
24     freopen("heritage.out","w",stdout);
25     int a;
26     char p1[1000],p2[1000],p3[1000];
27     scanf("%s%s",p2,p1);
28     a=strlen(p1);
29     build(a,p1,p2,p3);
30     p3[a]='\0';
31     printf("%s\n",p3);
32     return 0;
33 }

 

posted @ 2013-02-16 20:33  Naix_x  阅读(176)  评论(0编辑  收藏  举报