zoukankan      html  css  js  c++  java
  • P1229 遍历问题

    乘法原理应用题
    结论:

    1. 对于以S为根的二叉树,如果S既有左孩子又有右孩子,那么对于S而言的中序遍历的种类数 = 左孩子的种类数 * 右孩子的种类数
    2. 对于以S为根的二叉树,如果S只有左孩子或者右孩子,那么对于S而言的中序遍历的种类数 = 左孩子的种类数 * 右孩子的种类数 * 2
    3. 一棵二叉树中的只有一个孩子B(左或右)的结点A的特点:前序遍历中为AB,后序遍历中为BA

    所以本题只需要找到所有只有一个孩子的结点数k,答案是(2^k)

    #include<iostream>
    #include<string>
    
    using namespace std;
    
    const int N = 30;
    
    #define LL long long
    
    string a, b;
    
    int main(){
        cin >> a >> b;
        
        LL ans = 1;
        
        for(int i = 0; i < a.size(); i ++)
            for(int j = 1; j < b.size(); j ++)
                if(a[i] == b[j] && a[i + 1] == b[j - 1]) 
                    ans *= 2;
                
        cout << ans;
        
        return 0;
    }
    
  • 相关阅读:
    WebService
    JavaMail
    ssh框架整合
    CSS3初步
    SpringMVC 文件上传及下载
    Java多线程
    SpringMVC 数据校验
    初始化参数绑定——日期格式
    SpringMVC入门
    Quartz
  • 原文地址:https://www.cnblogs.com/tomori/p/13872614.html
Copyright © 2011-2022 走看看