- 0
- 0
- 约 14页
- 2024-05-30 发布于广西
- 举报
学科竞赛编程教研研究院C++NOIPNOIIOI
FBI数
输入输出格式输入格式:第一行是一个整数N(0≤N≤10),第二行是一个长度为的“01”串。输出格式:一个字符串,即FBI树的后序遍历序列。
输入输出样例
1PARTONE#includestdio.h#includemath.hcharA[1025];voidwork(intlow,intup){intmid=(low+up)/2;if(low!=up){work(low,mid);work(mid+1,up);}inti,a=0,b=0;for(i=low;i=up;i++)if(A[i]==0)a++;elseb++;if(ab)printf(F);elseif(a)printf(B);elseprintf(I);}intmain(){intn;scanf(%d,n);scanf(%s,A+1);work(1,pow(2,n));return0;}
题目描述我们都很熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历,求它的后序遍历,相应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。然而给定一棵二叉树的前序和后序遍历,你却不能确定其中序遍历序列,考虑如下图中的几棵二叉树:所有这些二叉树都有着相同的前序遍历和后序遍历,但中序遍历却不相同。遍历问题
输入格式:输A数据共两行,第一行表示该二叉树的前序遍历结果s1,第二行表示该二叉树的后序遍历结果s2。输出格式:输出可能的中序遍历序列的总数,结果不超过长整型数。输入输出格式
输入输出样例
1PARTONE#includecstdio#includecstring#includecmath#includealgorithmusingnamespacestd;intans;charstr1[233],str2[233];intmain(){scanf(%s,str1);scanf(%s,str2);for(inti=0;istrlen(str1);i++)for(intj=1;jstrlen(str2);j++)if(str1[i]==str2[j]str1[i+1]==str2[j-1])ans++;printf(%d,1ans);return0;}
题目背景河马大大是一种可爱的动物。他很喜欢吐泡泡。题目描述这天,河马大大心血来潮,吐了n个不同的泡泡玩(保证没有重复的泡泡)。请你帮他把这些泡泡排序成树(左子树=根右子树)。输出它的后序遍历。河马吐泡泡
输入格式:共2行。第一行,1个整数n。(1=n=300000)第二行,n个数,代表泡泡的大小。输出格式:共2行。第一行,输出树的深度。第二行,输出数的后序遍历。输入输出格式
输入输出样例
1PARTONEintmain(){intn;cinn;for(inti=1;i=n;i++)cina[i];ins(0,a[1],0);//先建立根节点for(inti=2;i=n;i++)ins(1,a[i],1);//建立各个节点,用插入的方式for(inti=1;i=n;i++){deap=0;intj;j=i;while(T[j].f!=0){deap++;j=T[j].f;}deap++;M=max(M,deap);//递归求深度}coutdeep=M\n;//输出树的最大深度print(1);//后根遍历return0;}
FutureX科学教育-创新课程像科学家一样思考像工程师一样解决问题
原创力文档

文档评论(0)