博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hihoCoder week13 最近公共祖先·一
阅读量:5051 次
发布时间:2019-06-12

本文共 996 字,大约阅读时间需要 3 分钟。

用的dfs,自下往上搜索一个节点的所有祖先,然后在相应祖先 判断是否是另一个节点的祖先,如果是 就截止,否则继续往上搜索,直到搜索到,或者知道所有的祖先都被扫描完成

#include 
using namespace std;const int N = 1e3+10;int n;int cnt, tot;map
mp;string s[N];vector
son[N], fa[N];string s1, s2;int getId(string str){ if(mp[str]) { return mp[str]; } mp[str] = (++cnt); s[cnt] = str; return cnt;}int dfs(int u, int v) { if(u == v) return true; for(int i=0; i
> s1 >> s2; int u = getId(s1); int v = getId(s2); son[u].push_back(v); fa[v].push_back(u); } int m; scanf("%d",&m); while(m--) { cin >> s1 >> s2; int u = getId(s1); int v = getId(s2); // cout <
<<" "<< v<<"\n"; bool flag=0; queue
que; que.push(u); while(!que.empty()) { int tmp=que.front(); que.pop(); //cout << s[tmp]<<"\n"; for(int i=0; i

 

转载于:https://www.cnblogs.com/Draymonder/p/10007484.html

你可能感兴趣的文章
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
多变量微积分笔记24——空间线积分
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>