首页 > 其他分享 >[2004年NOIP普及组] FBI树(从下往上推)

[2004年NOIP普及组] FBI树(从下往上推)

时间:2022-08-15 15:46:13浏览次数:58  
标签:输出 cout NOIP int else 偶数 2004 FBI fl

分析:根据样例得下面每有二个,则往上输出一个,以此类推,递推

如:下面为

10001011
先判断b【1】【1】
在判断b【1】【2】
此时【2】已是偶数,给b【2】【1】赋值(第一个数是在原有层数+1)(第二个数是较大的数除以2)
因为b【2】【i】的本行数的个数序号为奇数,所以继续

输出:设为0,1,2,根据不同情况输出

注意:先判断是否是偶数,如果是赋值输出,不是则继续执行最底下(1)的增加次数,(不是else,因为不管是不是往上加了1,有多个偶数,但只要不超过范围就继续执行底层加)

#include<bits/stdc++.h>
using namespace std;
int s=1;
int n,b[20][20000];
void fl(int l,int r){
if(b[l][r]==1) {
cout<<"I";
}
else if(b[l][r]==0){
cout<<"B";
}
else if(b[l][r]==2){
cout<<"F";
}
if(r%2==0){
if(b[l][r]==b[l][r-1]) b[l+1][r/2]=b[l][r];
else b[l+1][r/2]=2;
fl(l+1,r/2);
}
if(l==1&&r<s){
fl(l,r+1);
}
}
int main(){
char a;
cin>>n;
for(int i=1;i<=n;i++){
s=s*2;
}
for(int i=1;i<=s;i++){
cin>>a;
b[1][i]=a-'0';
}
fl(1,1);
}

标签:输出,cout,NOIP,int,else,偶数,2004,FBI,fl
From: https://www.cnblogs.com/wangjunlong9948/p/16588516.html

相关文章

  • [2004年NOIP普及组] FBI树
    后序遍历:先左儿子,后右儿子,最后根同理类推先序遍历:先根,再左儿子,后右儿子中序遍历:先左儿子,再根,最后右儿子 ......
  • [NOIP2013 提高组] 积木大赛
    试题分析:题目虽然可以用递归,但最优方法还是用贪心,每次输入进去,如果比前一个数小,那么减前一个数时就可以顺便把他减掉,如果大于则还得自己减。代码: ......
  • [2001年NOIP普及组] 求先序排列
    前序遍历的规则:(1)访问根节点   (2)前序遍历左子树(3)前序遍历右子树中序遍历的规则:(1)中序遍历左子树 (2)访问根节点  (3)中序遍历右子树后序遍历二叉树的规则: (1)后序遍历左......
  • [NOIP2004 普及组] FBI 树
    试题分析:题目意思是给出一个数字串,全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。在给定规则的基础上建树,并输出建完的树的后序排列。所以我们要用递......
  • 2001年NOIP普及组] 求先序排列
    2001年NOIP普及组]求先序排列分析:根据题意,已知中序遍历和后序遍历求先序遍历,很显然是用递归求解。我们知道后序遍历中根节点是最后一个,所以可以首先确定根节点的位置,然......
  • [NOIP2001 普及组] 求先序排列
    试题分析:题目中提及了树的先序,中序,后序排列,所以我们需要先知道这三种排列是什么意思。二叉树的3种(深度优先)排列:先序排列,“根左右”。即对于二叉树的每一个子树,先访问其根......
  • NC16645 [NOIP2007]矩阵取数游戏
    题目链接题目题目描述帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下:1.每次取数时须从每行各取走一个元素,......
  • noip2018提高组初赛试题
    一、单项选择题(共10题,每题2分,共计20分;每题有且仅有一个正确选项)\2.下列属于解释执行的程序设计语言是()。A.CB.C++C.PascalD.Python答案:D解析:编译语言:C......
  • noip 2014 提高组初赛
    noip2014提高组初赛一、TCP协议属于哪一层协议()A.应用层B.传输层C.网络层D.数据链路层BTCP(传输控制协议)若有变量inta;float:x,y,且a=7,x=2.5,y=......
  • [2001年NOIP普及组] 数的计算
    算法分析:一个数可分为自身(+1)和自身除以2的数所带的次数,适合用递推从前往后推,比如说4可以分为2和1和自身所带表的数相加121231341424124注意:自身也要加1,若不足3直......