马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目
代码
- #include<bits/stdc++.h>
- using namespace std;
- const int N = 2e5+10;
- int a[N], b[N];
- int ans;
- vector<int> Ga[N], Gb[N];
- void dfs(int ap, int af, int bp, int bf, int dep)
- {
- ans = max(ans, dep);
- map<int, int> bk;
- for(auto ason : Ga[ap])
- if(ason != af) bk[a[ason]] = ason;
- for(auto bson : Gb[bp])
- if(bson != bf)
- if(bk.count(b[bson]))
- {
- dfs(bk[b[bson]], ap, bson, bp, dep+1);
- }
- }
- int main()
- {
- int n, m;
- cin >> n >> m;
- for(int i = 1; i <= n; i++) cin >> a[i];
- for(int i = 1; i <= m; i++) cin >> b[i];
- int u, v;
- for(int i = 1; i < n; i++)
- {
- cin >> u >> v;
- Ga[u].push_back(v);
- Ga[v].push_back(u);
- }
- for(int i = 1; i < m; i++)
- {
- cin >> u >> v;
- Gb[u].push_back(v);
- Gb[v].push_back(u);
- }
- if(a[1] != b[1])
- {
- cout << 0;
- return 0;
- }
- dfs(1,0,1,0,1);
- cout << ans;
- return 0;
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |