UVA 1267 Network(dfs)
来源:互联网 发布:手机制作同学录软件 编辑:程序博客网 时间:2024/06/05 02:43
先把s节点作为根节点,建立一棵树,k层以上是不用管的,把k层以下的叶子结点放到node数组中,最下面的叶子结点网上走k-1层,然后当前节点作为根,建树,重复循环直到所有的点都被覆盖为止。
//// main.cpp// Richard//// Created by 邵金杰 on 16/9/30.// Mail:1016427040@qq.com or jasonshaosjj@gmail.com// Copyright © 2016年 邵金杰. All rights reserved.//#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;const int maxn=1000+10;vector<vector<int> > G(maxn),node(maxn);int n,s,k;int fa[maxn];int covered[maxn];void dfs1(int u,int f,int d){ fa[u]=f; int nc=(int)G[u].size(); if(nc==1&&d>k) node[d].push_back(u); for(int i=0;i<G[u].size();i++){ int v=G[u][i]; if(v!=f) dfs1(v,u,d+1); }}void dfs2(int u,int f,int d){ covered[u]=1; for(int i=0;i<G[u].size();i++){ int v=G[u][i]; if(v!=f&&d<k) dfs2(v,u,d+1); }}int solve(){ int ans=0; memset(covered,0,sizeof(covered)); for(int d=n-1;d>k;d--) { for(int i=0;i<node[d].size();i++){ int p=node[d][i]; if(covered[p]) continue; int v=p; for(int j=0;j<k;j++) v=fa[v]; dfs2(v,-1,0); ans++; } } return ans;}int main(){ int t; scanf("%d",&t); while(t--) { int u,v; scanf("%d%d%d",&n,&s,&k); for(int i=0;i<=n;i++) G[i].clear(),node[i].clear(); for(int i=0;i<n-1;i++) { scanf("%d%d",&u,&v); G[u].push_back(v); G[v].push_back(u); } dfs1(s,-1,0); printf("%d\n",solve()); } return 0;}//2 14//12 2//1 2//2 3//3 4//4 5//5 6//7 5//8 5//4 9//10 3//2 12//12 14//13 14//14 11
0 0
- uva 1267 - Network(dfs)
- uva 1267 - Network(dfs)
- UVA 1267 Network(dfs)
- UVa 1267 Network (DFS&贪心)
- uva 1267 Network(DFS)
- UVA 1267 - Network(贪心DFS)
- UVA 1267 && LA 3902 Network (思路--树上的DFS)
- uva 1267 Network
- uva 1267 Network
- UVA 1267 Network
- UVA - 1267 Network
- UVa:1267 Network
- UVA 1267 - Network
- 1267 - Network【狂dfs、模拟】
- LA 3902 UVA 1267 - Network
- Network UVA
- 【DFS】UVA
- 【DFS】UVA
- 根据表单提交数据 做出动态饼图
- PHP根据时间戳跳转
- android中Uri.parse()用法,调用电话短信浏览器等
- 头文件的包含以及命名空间的引入尽量写在cpp里
- Android Studio系列教程--Gradle基础
- UVA 1267 Network(dfs)
- 判断RecyclerView是否到底部
- [NOIP2012][VIJOS1792][YZOJ2150]摆花
- iOS 提交审核一直不出现构架版本
- linux 下vim的使用(必看)
- 如何进行adb模式下的调试
- 在OpenWrt上移植SLM630,EC20等LTE模块时,给内核打补丁
- POJ 2586 Y2K Accounting Bug (贪心)
- android 基于vitamio的本地视频播放器源码