广度搜索BFS

注意理解题意,关注者与被关注者的关系。
同时L是表示,在L层以内的所有节点,包括L层。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+5;
vector<int> G[maxn];
int vis[maxn];
int N,L,cnt;
struct node{int value,layer;
};
void bfs(int r){queue<node> q;node root;root.layer = 0;root.value = r;q.push(root);vis[r] = 1;while(!q.empty()){node tmp = q.front();q.pop();int u = tmp.value;for(int i=0;i<G[u].size();i++){int v = G[u][i];root.layer = tmp.layer + 1;root.value = v;if(vis[v]==0 && root.layer <= L){q.push(root);vis[v]=1;cnt++;}    }}
}
int main(){int u,v,k,x;scanf("%d%d",&N,&L);for(int j=1;j<=N;j++){scanf("%d",&k);for(int i=0;i<k;i++){scanf("%d",&x);G[x].push_back(j);}}scanf("%d",&k);for(int i=0;i<k;i++){memset(vis,0,sizeof(vis));scanf("%d",&x);cnt = 0;bfs(x);printf("%d\n",cnt);} return 0;
}

深度搜索DFS

最后一个测试点超时
27分

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+5;
vector<int> G[maxn];
int vis[maxn];
int N,L,cnt;
struct node{int value,layer;
};
void dfs(int r,int depth){if(depth > L) return;if(vis[r]==0){cnt++;vis[r]=1;}for(int i=0;i<G[r].size();i++){int v = G[r][i];dfs(v, depth+1);}
}
int main(){int u,v,k,x;scanf("%d%d",&N,&L);for(int j=1;j<=N;j++){scanf("%d",&k);for(int i=0;i<k;i++){scanf("%d",&x);G[x].push_back(j);}}scanf("%d",&k);for(int i=0;i<k;i++){memset(vis,0,sizeof(vis));scanf("%d",&x);cnt = 0;dfs(x,0);printf("%d\n",cnt-1);} return 0;
}

1076 Forwards on Weibo (30 分)相关推荐

  1. PAT甲级1076 Forwards on Weibo (30 分) :[C++题解]图论、bfs

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: BFS如何搜前k层?统计前k层的点数. ac代码 #include<bits/stdc++.h> using names ...

  2. PAT A级 1076 Forwards on Weibo (超详细BFS做法)

    一切杀不死我的,都将使我强大! 1076 Forwards on Weibo(30 分) Weibo is known as the Chinese version of Twitter. One u ...

  3. 1076 Forwards on Weibo

    1. 这题说的是,微博上人们之间有关注和被关注的关系,如果一个人发博,他的追随者就可能转发,追随者的追随者又可能转发,以此类推.现在给定一个人,求其微博可能被转发的人数,但是注意有一个关注链长的上限, ...

  4. 1076 Forwards on Weibo——最后用menset函数

    方法一: #include<cstdio> #include<queue> #include<vector> #include<algorithm> # ...

  5. 1076. Forwards on Weibo 解析

    注意题意输入粉丝的时候,第i行是第i个关注了谁,而不是他的粉丝. 在遍历的时候也是只转发第一次,所以要一个isVis数组去标记一下. #include <iostream> #includ ...

  6. 【PAT甲级 - C++题解】1076 Forwards on Weibo

    ✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343

  7. PAT_甲级_1076 Forwards on Weibo (30point(s)) (C++)【BFS/微博扩散】

    目录 1,题目描述 题目描述 输入 2,思路 BFS算法 3,AC代码 4,解题过程 第一搏 第二搏 1,题目描述 Sample Input: 7 3 3 2 3 4 0 2 5 6 2 3 1 2 ...

  8. 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)

    进阶实验5-3.2 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到 ...

  9. c语言1076 wifi密码(15分),1076 Wifi密码 (15 分)

    下面是微博上流传的一张照片:"各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答 ...

最新文章

  1. 列联表相关测量--φ列相关系数
  2. malware分析视频
  3. 《图数据库(第2版)》——2.1 关系型数据库缺少联系
  4. Python自动化运维开发----基础(四)列表基础
  5. cloud 异步远程调用_异步远程工作的意外好处-以及如何拥抱它们
  6. C语言枚举类型(enum)的各种用法
  7. .form文件_含文件上传的form表单AJAX提交小结
  8. 第00次博文——我对Python的期待与思考
  9. 寻求生态保护与矿产开发平衡点 青海给出“绿色方案”
  10. 2013武汉住房公积金新政详解
  11. threejs - uv 映射 简要
  12. 多个绝对值相加求最大值问题_多个绝对值求和型函数最值问题的求解方法
  13. 招生CRM系统|基于Springboot实现培训机构招生CRM管理系统
  14. 计算机科学中宏一般指,在EXCEL中工具里面的宏是什么意思、有什么用途?
  15. 英文转中文和人民币小写转大写
  16. 滤波器和均衡器有什么区别_什么是均衡器,它如何工作?
  17. 网络冗余链路管理的实现
  18. (四)改掉这些坏习惯,还怕写不出健壮的代码?
  19. 若依框架免密登录(仅做参考)
  20. 计算机应用专业教学进度表,《计算机应用基础》教学计划 附:教学进度表.doc...

热门文章

  1. 使用 cobar 需要分布式 mysql 吗_用cobar搭建分布式数据库
  2. 51单片机下载完程序后不亮_为什么要学习单片机?如何开始上手学习单片机?...
  3. “多视角交叉认知----《发现的乐趣》,TED演讲-数学是理解万物之源,徐冰《创造力从哪里来》”主题作文
  4. datastage服务器项目nls安装,datastagedads - 图文
  5. 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。建议向此网站的管理员反馈这个问题。
  6. 训练营打卡Day57
  7. 中国科学院大学-模式识别与机器学习-复习、往年真题整理(含解答)【硬干货,博主本课程90+】
  8. 草莓采摘机器人——ROS导航(一) ROS Kinetic + Handsfree系统安装以及环境配置
  9. 我猜你也在找内网渗透,这篇难道还不够你嚼烂?
  10. VUE事件参数$event