1076. Forwards on Weibo (30)
来源:互联网 发布:python和java和php 编辑:程序博客网 时间:2024/05/14 10:16
传送门:https://www.patest.cn/contests/pat-a-practise/1076
AC代码 .我一开始用普通的广度优先搜索超时,后来用队列AC;
#include <iostream>#include <vector>#include <stdio.h>#include <algorithm>#include <queue>#include <unordered_map>using namespace std;struct Node{ vector<int>followers;};int main(){ int n,level,m,t,k,query; scanf("%d %d",&n,&level); vector<Node>ans(n+1); for (int i=1; i<=n; ++i) { scanf("%d",&m); for (int j=0; j<m; ++j) { scanf("%d",&t); ans[t].followers.push_back(i); } } scanf("%d",&k); for (int i=0; i<k; ++i) { int total= 0; scanf("%d",&query); unordered_map<int,int>nums; nums[query]=1; queue<int>q; q.push(query); int curlevel = 0,count1=1,count2=0;//记录转这一轮入队多少人. while (!q.empty()&&curlevel<level) { for(int x = 0;x<count1;x++){ int index = q.front(); q.pop(); for (int j=0; j<ans[index].followers.size(); ++j){ if(nums[ans[index].followers[j]]==0){ nums[ans[index].followers[j]]++; q.push(ans[index].followers[j]); total++; count2++; } } } count1 = count2; count2 = 0; curlevel++; } printf("%d\n",total); } 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)
- 线性表的查找
- Web Payment (在线支付/网上支付)
- 莫比乌斯反演学习笔记
- HBase 分布式的搭建(二)
- #define宏定义
- 1076. Forwards on Weibo (30)
- 【poj 1743】 Musical Theme(后缀数组)
- Sqlite 技术内幕(译注版)(一) 目录和概述
- js操作map集合按key排序
- 杭电 Problem-1003 Max Sum【dp】
- Vector Asset Studio的使用
- Java从网络读取图片并保存至本地
- django 项目中使用多数据库 multiple databases(动态database file)
- Sqlite 技术内幕(译注版)(二)数据库文件格式