codeforces 813C. The Tag Game
来源:互联网 发布:pp助手无法安装软件 编辑:程序博客网 时间:2024/06/06 08:26
思路:计算出所有点到1号点的最短距离,到x号点的最短距离,然后找到一些这样的点,这个点到x点的距离小于到1号点的距离,然后选出这些点中距离1号点最远的点就是结果。
#include <cstdio>#include <cstring>#include <vector>#include <queue>using std::priority_queue;using std::vector;const int MAXN = 2e5+10;struct qnode{ int v,c; qnode(int _v = 0, int _c = 0):v(_v),c(_c) {} bool operator <(const qnode &r) const { return c>r.c; }};struct Edge{ int v,cost; Edge(int _v = 0, int _cost = 0):v(_v),cost(_cost) {}};vector<Edge> E[MAXN];const int INF = 0x3f3f3f3f;int n,x;//dist[0] ->distA//dist[1] ->distBint dist[2][MAXN];bool vis[MAXN];void Dijkstra(int n, int start, int index){ memset(vis,false,sizeof(vis)); for(int i=1; i<=n; i++) dist[index][i]=INF; priority_queue<qnode> que; while(!que.empty()) que.pop(); dist[index][start]=0; que.push(qnode(start,0)); qnode tmp; while(!que.empty()) { tmp=que.top(); que.pop(); int u=tmp.v; if(vis[u])continue; vis[u]=true; for(int i=0; i<E[u].size(); i++) { int v=E[tmp.v][i].v; int cost=E[u][i].cost; if(!vis[v]&&dist[index][v]>dist[index][u]+cost) { dist[index][v]=dist[index][u]+cost; que.push(qnode(v,dist[index][v])); } } }}void addedge(int u,int v,int w){ E[u].push_back(Edge(v,w)); E[v].push_back(Edge(u,w));}int main(){ int a,b; scanf("%d %d",&n,&x); for(int i = 0; i < n-1; ++i) { scanf("%d %d",&a,&b); addedge(a,b,1); } Dijkstra(n,1,0); Dijkstra(n,x,1); int res = 0; for(int i = 2; i <= n; ++i) { if(dist[0][i] > dist[1][i]) { if(dist[0][i] > res) res = dist[0][i]; } } printf("%d\n",res*2); return 0;}
阅读全文
0 0
- codeforces 813C The Tag Game
- codeforces 813C. The Tag Game
- Codeforces 813 C The Tag Game
- Codeforces 813C The Tag Game 题解
- codeforces 813C The Tag Game dfs
- codeforces 813C The Tag Game
- codeforces 813C The Tag Game
- Codeforces 813C The Tag Game
- Codeforces 813C The Tag Game【思维+Dfs】
- codeforces 813C The Tag Game dfs && 路径长度
- The Tag Game CodeForces
- The Tag Game(CodeForces
- C. The Tag Game
- Educational Codeforces Round 22 C. The Tag Game dfs
- Educational Codeforces Round 22-C. The Tag Game-搜索,贪心
- Educational Codeforces Round 22 C. The Tag Game(思维)
- Educational Codeforces Round 22 C. The Tag Game 搜索
- Codeforces Round 22 C. The Tag Game ( 搜索
- windows 下利用phantomjs 将当前网页生成pdf或者是图片格式
- 【慕课网】HTML&CSS基础课程学习笔记
- eclipse中安装swing 插件windowbuilder
- 执行计划
- Java线程:线程的调度-优先级
- codeforces 813C. The Tag Game
- 面试:----电商项目中比较难得问题
- SpringBoot入门
- shell脚本中的条件测试if中的-z到-d的意思
- IO系统的功能和层次模型
- 金蝶EAS,设置界面大小、窗口标题、按钮可用
- Java线程:线程的调度-让步
- Cartographer 代码阅读分析-2
- 软件项目管理流程总结