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 }

 

你可能感兴趣的:(USACO)