codeforce 580C 简单深搜
来源:互联网 发布:中锐网络经营范围 编辑:程序博客网 时间:2024/06/14 11:46
如果说要A和B相连,要把这个图储存,那么用到vector 数组,如果没有权,直接vectorG[maxn];G[x]push_back(y);G[y].push_back(x).如果有权,先定义一个结构体数组,vector《node>G[maxn];G[x].push_back(node(y,cost);G[y].push_baxk(node(x,cost);
#include <stdio.h>#include <iostream>#include<vector>#include<algorithm>#include<string>#include<cstring>using namespace std;const int maxn = 2e5;int m,n;int a[maxn]; int ans; int vis[maxn];vector<int>G[maxn];int dfs(int cur,int sum){ vis[cur] = 1; if(sum > n) return 0; int flag = 0; for(int i = 0; i < G[cur].size(); i++) { int v = G[cur][i]; if(vis[v] == 0) { flag = 1; if(a[v] == 1) dfs(v,sum+a[v]); else dfs(v,0); } } if(flag == 0) ans++;}int main(){ while(scanf("%d%d",&m,&n)!=EOF) { memset(vis,0,sizeof(vis)); for(int i = 1; i <= m; i++) { G[i].clear(); scanf("%d",&a[i]); } for(int i = 1; i < m; i++) { int x,y; scanf("%d%d",&x,&y); G[x].push_back(y); G[y].push_back(x); } ans = 0; dfs(1,a[1]); printf("%d\n",ans); } return 0;}
0 0
- codeforce 580C 简单深搜
- 简单dp(codeforce #336(c)补题
- codeforce 798C Mike and gcd problem (简单数学)
- Codeforce # C. Average Score
- CodeForce 279C
- codeforce 237 C D
- Codeforce C. Barcode
- Codeforce 57C Array
- Codeforce 240C Practice
- Codeforce 332C
- codeforce 370C
- codeforce 400 C
- codeforce 6C
- codeforce 12C map
- codeforce 14C
- codeforce 18C
- codeforce 447C
- codeforce 20140808 C. Boredom
- linux就是这个范儿之特种文件系统(3)
- JavaScript事件委托的技术原理
- c/c++ 构造函数、拷贝构造函数、析构函数和赋值运算符重载
- OpenStack Nova分析——Nova Scheduler调度算法分析(3)
- SHELL脚本的echo输出颜色
- codeforce 580C 简单深搜
- matlab读取向量中所有连续元素
- Google gflags使用说明
- 表单
- C++存储类
- linux 添加环境变量
- React Native安卓源码学习(一 )
- 树状数组 求逆序数 poj 2299 离散化
- 字符串格%02x式化输出出现FFFFFF解决办法