2024蓝桥杯C++A组:团建(层序遍历)

题目描述

解题思路

先将树的孩子用vector容器进行存储,因题目说明每棵树不会有节点的值重复,故进行层序遍历,判断树的每层是否有相同结点值,以此判断最长公共前缀
 

附代码+注释

#include<bits/stdc++.h>
#include<unordered_map>
#include<unordered_set>
#define ll long long
using namespace std;
const int T = 200000;
vector<vector<int>> tree1(T);
vector<vector<int>> tree2(T);
vector<int> nums1(T);
vector<int> nums2(T);
int N, M;
int get() {
	int sum = 0;	
	int t1 = 1, t2 = 1;
	if (nums1[1] == nums2[1]) sum++;
	else return 0;
	while (1) {
		int i, j;
		int flag = 1;
		if (tree1[t1].size() == 0 || tree2[t2].size() == 0) break;
		for (i = 0; i < tree1[t1].size(); i++) {
			for (j = 0; j < tree2[t2].size(); j++) {
				if (nums1[tree1[t1][i]] == nums2[tree2[t2][j]])   //寻找公共前缀
				{
					flag = 0;
					t1 = tree1[t1][i];
					t2 = tree2[t2][j];                            //选取下一层的父节点
					sum++;
					break;
				}
			}
		}
		if (flag) break;
	}
	return sum;
}
int main() {
	cin >> N >> M;
	int n = N, m = M;
	int temp;
	while (n--) {
		cin >> temp;
		nums1[N - n] = temp;
	}
	while (m--) {
		cin >> temp;
		nums2[M - m] = temp;
	}
	n = N - 1; m = M - 1;
	int t1, t2;
	while (n--) {
		cin >> t1 >> t2;
		tree1[min(t1, t2)].push_back(max(t1, t2));
	}
	while (m--) {
		cin >> t1 >> t2;
		tree2[min(t1, t2)].push_back(max(t1, t2));       //存储每个节点的孩子
	}
	cout << get();
	return 0;
}

相关推荐

  1. 】马的

    2024-04-14 08:44:01       17 阅读
  2. 【备战】图的问题

    2024-04-14 08:44:01       30 阅读
  3. 2024.2.17力扣每日一题——N叉树的

    2024-04-14 08:44:01       20 阅读
  4. 】429. N 叉树的

    2024-04-14 08:44:01       30 阅读
  5. 倒计时47天!DFS基础——图的

    2024-04-14 08:44:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-14 08:44:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-14 08:44:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-14 08:44:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-14 08:44:01       20 阅读

热门阅读

  1. 【python】基于librosa库提取音频特征

    2024-04-14 08:44:01       15 阅读
  2. C++ 中对 const 的浅显理解

    2024-04-14 08:44:01       17 阅读
  3. 简述mvvm模式

    2024-04-14 08:44:01       16 阅读
  4. 基于springboot的电影评论网站系统源码数据库

    2024-04-14 08:44:01       19 阅读
  5. React搭建一个文章后台管理系统

    2024-04-14 08:44:01       20 阅读
  6. L1-083 谁能进图书馆

    2024-04-14 08:44:01       23 阅读
  7. 设计模式——单例模式

    2024-04-14 08:44:01       16 阅读
  8. FPGA设计之Test bench介绍

    2024-04-14 08:44:01       20 阅读
  9. xpinyin,是我们最喜欢python库

    2024-04-14 08:44:01       20 阅读
  10. python:算法竞赛入门之一

    2024-04-14 08:44:01       19 阅读
  11. skynet 使用protobuf

    2024-04-14 08:44:01       23 阅读