1076 Forwards on Weibo (30 分)
广度搜索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 分)相关推荐
- PAT甲级1076 Forwards on Weibo (30 分) :[C++题解]图论、bfs
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: BFS如何搜前k层?统计前k层的点数. ac代码 #include<bits/stdc++.h> using names ...
- PAT A级 1076 Forwards on Weibo (超详细BFS做法)
一切杀不死我的,都将使我强大! 1076 Forwards on Weibo(30 分) Weibo is known as the Chinese version of Twitter. One u ...
- 1076 Forwards on Weibo
1. 这题说的是,微博上人们之间有关注和被关注的关系,如果一个人发博,他的追随者就可能转发,追随者的追随者又可能转发,以此类推.现在给定一个人,求其微博可能被转发的人数,但是注意有一个关注链长的上限, ...
- 1076 Forwards on Weibo——最后用menset函数
方法一: #include<cstdio> #include<queue> #include<vector> #include<algorithm> # ...
- 1076. Forwards on Weibo 解析
注意题意输入粉丝的时候,第i行是第i个关注了谁,而不是他的粉丝. 在遍历的时候也是只转发第一次,所以要一个isVis数组去标记一下. #include <iostream> #includ ...
- 【PAT甲级 - C++题解】1076 Forwards on Weibo
✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
- 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 ...
- 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)
进阶实验5-3.2 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到 ...
- c语言1076 wifi密码(15分),1076 Wifi密码 (15 分)
下面是微博上流传的一张照片:"各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答 ...
最新文章
- 列联表相关测量--φ列相关系数
- malware分析视频
- 《图数据库(第2版)》——2.1 关系型数据库缺少联系
- Python自动化运维开发----基础(四)列表基础
- cloud 异步远程调用_异步远程工作的意外好处-以及如何拥抱它们
- C语言枚举类型(enum)的各种用法
- .form文件_含文件上传的form表单AJAX提交小结
- 第00次博文——我对Python的期待与思考
- 寻求生态保护与矿产开发平衡点 青海给出“绿色方案”
- 2013武汉住房公积金新政详解
- threejs - uv 映射 简要
- 多个绝对值相加求最大值问题_多个绝对值求和型函数最值问题的求解方法
- 招生CRM系统|基于Springboot实现培训机构招生CRM管理系统
- 计算机科学中宏一般指,在EXCEL中工具里面的宏是什么意思、有什么用途?
- 英文转中文和人民币小写转大写
- 滤波器和均衡器有什么区别_什么是均衡器,它如何工作?
- 网络冗余链路管理的实现
- (四)改掉这些坏习惯,还怕写不出健壮的代码?
- 若依框架免密登录(仅做参考)
- 计算机应用专业教学进度表,《计算机应用基础》教学计划 附:教学进度表.doc...
热门文章
- 使用 cobar 需要分布式 mysql 吗_用cobar搭建分布式数据库
- 51单片机下载完程序后不亮_为什么要学习单片机?如何开始上手学习单片机?...
- “多视角交叉认知----《发现的乐趣》,TED演讲-数学是理解万物之源,徐冰《创造力从哪里来》”主题作文
- datastage服务器项目nls安装,datastagedads - 图文
- 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。建议向此网站的管理员反馈这个问题。
- 训练营打卡Day57
- 中国科学院大学-模式识别与机器学习-复习、往年真题整理(含解答)【硬干货,博主本课程90+】
- 草莓采摘机器人——ROS导航(一) ROS Kinetic + Handsfree系统安装以及环境配置
- 我猜你也在找内网渗透,这篇难道还不够你嚼烂?
- VUE事件参数$event