zoukankan      html  css  js  c++  java
  • P1087 FBI树

    P1087 FBI树

    暴力出奇迹  QWQ

    题解

    一棵FBI树

    中间分两半

    比1大继续分两半

    后序遍历 左右头

    分啊分啊分啊   合啊合啊合啊

    最后你就做完了

    不画图了,太水了,代码挺清晰的,看不清的举个手

    代码

    #include<iostream>
    #include<cstdio>
    #include<algorithm> 
    #include<cmath>
    #include<string>
    #include<cstring>
    #include<cstdlib>
    
    using namespace std;
    
    int n;
    
    int jc[12]={1,2,4,8,16,32,64,128,256,512,1024,2048};
    int num[11]={1,3,7,15,31,63,127,255,511,1023,2047};
    char a[50000];
    int b[50000];
    
    int dfs(int l,int r)
    {
        int zuo,you,tou;
        if((r-l)==0) 
        {
            if(b[l]==0){cout<<"B"; return 0;} 
            else if(b[l]==1)
            {cout<<"I"; return 1;} 
        }
        else
        {
            zuo=dfs(l,l+(r-l)/2);
            you=dfs(l+(r-l)/2+1,r);
            
            if(zuo==1&&you==1) 
            {cout<<"I";  return 1;}
            
            else if(zuo==0&&you==0) 
            {cout<<"B";  return 0;}
            
            else
            {cout<<"F";  return 2;}
            
        }
    }
    
    int main()
    {
        int n;
        scanf("%d
    ",&n);
        gets(a);
        int k=jc[n];
        
        for(int i=0;i<=k-1;i++)
            if(a[i]=='1')  b[i+1]=1;
            else if(a[i]=='0')  b[i+1]=0;
    
        dfs(1,k);
        return 0;
    
    }
  • 相关阅读:
    linux 常用命令
    books list
    开发文化,沟通、会议、总结
    编程资源
    敏捷开发流程
    服务器安全部署指南
    服务器应用部署规范
    单元测试
    弱弱的页码问题
    实验A javaScript XML数据操作按姓名查询
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/10998462.html
Copyright © 2011-2022 走看看