博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HRBUST 1326 循环找父节点神术
阅读量:6714 次
发布时间:2019-06-25

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

题意 给出一个图 给出a点到每个点的路径 最后经过的除这个点本身以外的点 

现在把a点改为b点 让求出按上面那种方式 把除b之外的点对应的点列出

...算了我描述题意得能力好差...这个锅还是给出题的吧 宝宝不背

这时候就应该用到涛哥教我的循环找父节点神术 对 就是这个名字 

因为说了 首都到每个点的路径唯一 明显就是一颗树

那么改了首都 还是一棵树 那么把一开始的首都作为根节点 会发现 从首都a点到b点的距离外 所有的点对应的点 其实还是一样的

会发现每个点的对应点 在a还是首都的时候都是父节点

从b到a连线 除了这条线上的点的父节点需要改变 其余的还是一样

记录下来这条线上的点 关键就是循环找父节点神术

#include
#include
#include
#include
#include
using namespace std;int fa[50050];int a[50050];int tot;int n,c,k;void find(int z){ int x=z; while(x!=c) { a[tot++]=x; x=fa[x]; } a[tot++]=c; return ;}int main(){int t;scanf("%d",&t);while(t--){ scanf("%d%d%d",&n,&c,&k); fa[c]=c; for(int i=1;i<=n;i++) { if(i==c) continue; int x; scanf("%d",&x); fa[i]=x; } tot=0; find(k); for(int i=1;i

  

转载于:https://www.cnblogs.com/rayrayrainrain/p/5290122.html

你可能感兴趣的文章
To Be an Architect : 架构的一些基本概念
查看>>
数据恢复软件哪个好
查看>>
『火车进出栈问题 卡特兰数』
查看>>
第四天:HTTP&Tomcat
查看>>
python 文件和路径操作函数小结
查看>>
条件+努力=?
查看>>
HBase分布式安装
查看>>
我为什么要录制Java Swing桌面应用程序开发课程
查看>>
201508025 课后命令练习总结
查看>>
RHEL 6.1下Apache与Tomcat整合
查看>>
安装nginx小计
查看>>
添加绿色,×××和红色区域
查看>>
linux系统中单网卡添加多个ip
查看>>
APUE读书笔记-01UNIX系统概述(1)
查看>>
APUE读书笔记-15进程内部通信-10客户服务特性
查看>>
KendoUI系列:ComboBox
查看>>
nginx日志错误日志说明
查看>>
mac下,有哪些好用的抓包工具?
查看>>
WPS Office for Mac
查看>>
Redhat5.5安装oracle11g
查看>>