1076. Forwards on Weibo (30)
来源:互联网 发布:wps表格怎么引用数据 编辑:程序博客网 时间:2024/06/09 13:53
#include<cstdio>#include<queue>#include<algorithm>using namespace std;#define maxn 1010struct Node{ int id; int layer;};vector<Node> G[maxn];bool vis[maxn]={false};int n,L,x,k,i,j,cnt=0;Node node,temp;//广度遍历,u为当前遍历的节点,deep为深度void BFS(int u){ queue<Node> qu; Node start; start.id = u; start.layer = 0; qu.push(start); vis[start.id] = true; while (!qu.empty()) { Node front = qu.front(); if(front.layer !=0 && front.layer <= L) { cnt++; } qu.pop(); int s = front.id; for(int i=0; i<G[s].size(); i++) { Node next = G[s][i]; next.layer = front.layer + 1; if(vis[next.id] == false) { qu.push(next); vis[next.id] = true; } } }}int main(){ //输入数据 scanf("%d%d",&n,&L); //构造图 for(i=1; i<=n; i++) { temp.id = i; temp.layer = 0; scanf("%d",&x); for(j=0; j<x; j++) { scanf("%d",&node.id); node.layer = 0; G[node.id].push_back(temp); } } //输入需要开始遍历的节点,并遍历和输出结果 scanf("%d",&k); for(int i=0; i<k; i++) { int a; scanf("%d",&a); BFS(a); printf("%d\n",cnt); cnt = 0; for(int i=1; i<=n; i++) vis[i] = false; } return 0;}
0 0
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 1076. Forwards on Weibo (30)
- 安卓开发:调用系统图片选择器
- 网站教程
- 流程银行(模式、目标、思路)
- Maven快速入门
- 将android布局中自带的标题栏去掉
- 1076. Forwards on Weibo (30)
- redis3.0在linux环境下安装配置(java)
- 时间戳
- 利用七牛云如何上传图片制作外链?
- 正则表达式
- 山东省第八届ACM省赛感想——来自菜鸟的感叹
- C和指针学习笔记
- 1083. List Grades (25)
- iOS开发之OC篇(11)—— Class(类)、@property属性