【2024蓝桥杯/C++/A组/团建】

打印 上一主题 下一主题

主题 957|帖子 957|积分 2871

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目





代码

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int N = 2e5+10;
  4. int a[N], b[N];
  5. int ans;
  6. vector<int> Ga[N], Gb[N];
  7. void dfs(int ap, int af, int bp, int bf, int dep)
  8. {
  9.     ans = max(ans, dep);
  10.     map<int, int> bk;
  11.     for(auto ason : Ga[ap])
  12.     if(ason != af) bk[a[ason]] = ason;
  13.     for(auto bson : Gb[bp])
  14.     if(bson != bf)
  15.     if(bk.count(b[bson]))
  16.     {
  17.         dfs(bk[b[bson]], ap, bson, bp, dep+1);
  18.     }
  19. }
  20. int main()
  21. {
  22.     int n, m;
  23.     cin >> n >> m;
  24.     for(int i = 1; i <= n; i++) cin >> a[i];
  25.     for(int i = 1; i <= m; i++) cin >> b[i];
  26.     int u, v;
  27.     for(int i = 1; i < n; i++)
  28.     {
  29.         cin >> u >> v;
  30.         Ga[u].push_back(v);
  31.         Ga[v].push_back(u);
  32.     }
  33.     for(int i = 1; i < m; i++)
  34.     {
  35.         cin >> u >> v;
  36.         Gb[u].push_back(v);
  37.         Gb[v].push_back(u);
  38.     }
  39.     if(a[1] != b[1])
  40.     {
  41.         cout << 0;
  42.         return 0;
  43.     }
  44.     dfs(1,0,1,0,1);
  45.     cout << ans;
  46.     return 0;
  47. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表