博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYIST OJ 题目20 吝啬的王国
阅读量:6765 次
发布时间:2019-06-26

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

DFS水题。题意说明了这是一颗树,那么只要按照根节点DFS下去就好了,DFS的时候记录一下当前在哪个结点,还有父节点是谁,就AC了!

#include
#include
#include
#include
#include
using namespace std;const int maxn = 100000 + 10;vector
ljb[maxn];int anss[maxn], flag[maxn];int n, s, u, v;void dfs(int noww, int father){ int i; anss[noww] = father; for (i = 0; i < ljb[noww].size(); i++) { if (flag[ljb[noww][i]] == 0) { flag[ljb[noww][i]] = 1; dfs(ljb[noww][i], noww); } }}int main(){ int T; scanf("%d", &T); while (T--) { int i; scanf("%d%d", &n, &s); for (i = 0; i <= n; i++) ljb[i].clear(); memset(flag, 0, sizeof(flag)); for (i = 1; i <= n - 1; i++) { scanf("%d%d", &u, &v); ljb[u].push_back(v); ljb[v].push_back(u); } flag[s] = 1; dfs(s, -1); for (i = 1; i <= n; i++) { if (i < n) printf("%d ", anss[i]); else printf("%d\n", anss[i]); } } return 0;}

 

转载于:https://www.cnblogs.com/zufezzt/p/4592918.html

你可能感兴趣的文章
第一天
查看>>
go语言字符串处理
查看>>
hihocoder 1014----Trie树
查看>>
【2016.5.27】再见,软件工程,你好,软件工程。
查看>>
POJ 3237 Tree
查看>>
hdu 2586 How far away ? ( 离线 LCA , tarjan )
查看>>
ISTQB测试人员认证 初级(基础级)大纲
查看>>
核反应堆
查看>>
sencha touch 2 nestlist中获得绑定store中值的办法
查看>>
比较几个统计函数
查看>>
Sass基础用法
查看>>
iOS开发-UIImageView高效设置Radius
查看>>
蛇形填数
查看>>
第七章:Oracle完整后台进程&内存结构图
查看>>
链表中环的入口结点
查看>>
初来乍到--------smarty
查看>>
iOS--代码规范
查看>>
MongoDB分片集群环境搭建记录
查看>>
小窍门解决大问题(绝对值得收藏)
查看>>
(转)李明博:我的12年等于24年
查看>>