PAT甲级1076. Forwards on Weibo
PAT甲级1076. Forwards on Weibo
题意:
微博被称为中文版的Twitter。微博上的一位用户可能会有很多关注者,也可能会跟随许多其他用户。因此,社会网络与追随者的关系形成。当用户在微博上发布帖子时,他/她的所有跟随者可以查看和转发他/她的帖子,然后可以由他们的追随者再次转发。
现在给出一个社交网络,假定只计算间接跟随者的L个级别,您应该计算任何特定用户的最大潜在潜在金额。
输入规格:
每个输入文件包含一个测试用例。对于每种情况,第一行包含2个正整数:N(<= 1000),用户数;
和L(<= 6),计数的间接追踪者的数量。因此,假设所有用户的编号从1到N.然后N行遵循,其格式如下:
M [i] user_list [i]
其中M [i](<= 100)是用户[i]遵循的总人数; user_list [i]是用户[i]遵循的M [i]个用户的列表。
保证没有人能跟随自己。所有的数字都被空格隔开。
然后最后给出肯定的K,然后是K UserID的查询。
输出规格:
对于每个UserID,您应该在一行中打印此用户可以转发的最大潜在数量,
假设每个可以查看初始帖子的人都会转发一次,只计算L个间接追踪者。
思路:
队列bfs或者Dijkstra
ac代码:
C++
// pat1076.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<queue>
#include<vector>
#include<cstring>
#include<stdio.h>
#include<map>
#include<cmath>
#include<unordered_map>
#include<unordered_set>
using namespace std;
//visit + dfs会使部分节点提前访问。并不是到源点的最短距离。使得其节点被提前visit,其孩子节点不被统计!!
//队列bfs或者Dijkstra
int n, l;
int mymap[1001][1001];
int res;
int Dijkstra(int x)
{
int count = -1;
int len[1001];
memset(len, -1, sizeof(len));
len[x] = 0;
int visit[1001] = { 0 };
int now;
while (1)
{
now = -1;
for (int i = 1; i <= n; i++)
{
if (!visit[i] && len[i] != -1 && (now == -1 || len[i] < len[now])) now = i;
}
if (len[now] > l || now == -1) break;
visit[now] = 1;
count++;
for (int i = 1; i <= n; i++)
{
if (mymap[now][i] && !visit[i] && (len[now] + mymap[now][i] < len[i] || len[i] == -1))
{
len[i] = len[now] + mymap[now][i];
}
}
}
return count;
}
int main()
{
int m, tempfan;
scanf("%d %d", &n, &l);
memset(mymap, 0, sizeof(mymap));
for (int i = 1; i <= n; i++)
{
scanf("%d", &m);
while (m--)
{
scanf("%d", &tempfan);
mymap[tempfan][i] = 1;
}
}
int query;
scanf("%d", &m);
for (int i = 0; i < m; i++)
{
scanf("%d", &query);
int res = Dijkstra(query);
printf("%d\n", res);
}
return 0;
}
PAT甲级1076. Forwards on Weibo的更多相关文章
- PAT 甲级 1076 Forwards on Weibo (30分)(bfs较简单)
1076 Forwards on Weibo (30分) Weibo is known as the Chinese version of Twitter. One user on Weibo m ...
- PAT甲级——A1076 Forwards on Weibo
Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may ...
- PAT Advanced 1076 Forwards on Weibo (30) [图的遍历,BFS,DFS]
题目 Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and ...
- PAT 1076 Forwards on Weibo[BFS][一般]
1076 Forwards on Weibo (30)(30 分) Weibo is known as the Chinese version of Twitter. One user on Weib ...
- 1076. Forwards on Weibo (30)【树+搜索】——PAT (Advanced Level) Practise
题目信息 1076. Forwards on Weibo (30) 时间限制3000 ms 内存限制65536 kB 代码长度限制16000 B Weibo is known as the Chine ...
- 1076 Forwards on Weibo (30 分)
1076 Forwards on Weibo (30 分) Weibo is known as the Chinese version of Twitter. One user on Weibo ma ...
- 【PAT甲级】1076 Forwards on Weibo (30 分)
题意: 输入两个正整数N和L(N<=1000,L<=6),接着输入N行数据每行包括它关注人数(<=100)和关注的人的序号,接着输入一行包含一个正整数K和K个序号.输出每次询问的人发 ...
- PAT 1076. Forwards on Weibo (30)
Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may ...
- PAT (Advanced Level) 1076. Forwards on Weibo (30)
最短路. 每次询问的点当做起点,然后算一下点到其余点的最短路.然后统计一下最短路小于等于L的点有几个. #include<cstdio> #include<cstring> # ...
随机推荐
- 关于parse_str变量覆盖分析
这个漏洞有两个姿势.一个是不存在的时候一个是存在的时候. 经过测试该漏洞只在php5.2中存在,其余均不存在. 倘若在parse_str函数使用的代码上方未将其定义那么即存在变量覆盖漏洞否则不行. 还 ...
- 工具===激活xmind 8
[下载jar包]: https://stormxing.oss-cn-beijing.aliyuncs.com/files/XMindCrack.jar 方法: 打开xmind 8 安装目录的 ...
- 「caffe编译bug」 undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11
CXX/LD -o .build_release/tools/test_net.binCXX/LD -o .build_release/tools/convert_annoset.binCXX/LD ...
- Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,输出异常
Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,出现请求异常时,会进入熔断处理,但是不会抛出异常信息. 经过以下配置,可以抛出异常: 将原有ErrorEncoder ...
- Eloqument 学习
参考地址:https://d.laravel-china.org/docs/5.5/eloquent#mass-assignment
- caffe多个gpu数据合并到一起
当多GPU树形拓扑构建完毕,数据预缓冲到GPU显存,开始进入多GPU并行训练.Caffe的Solver提供了两个用于多GPU训练的回调函数:on_start()和on_gradient_ready() ...
- tomcat报错HTTP Status 405 - HTTP method GET is not supported by this URL
servlet提交表单,结果出错. 出现HTTP Status 405 - HTTP method GET is not supported by this URL 原因是:1.继承自Httpserv ...
- 全栈Python 必备库
强大的库: 转自:微信公众号 Python最棒的地方之一,就是大量的第三方库,覆盖之广,令人惊叹.Python 库有一个缺陷就是默认会进行全局安装.为了使每个项目都有一个独立的环境,需要使用工具vir ...
- beego离线安装及运行
官网: https://beego.me/ 由于公司上不了网,啥都得下载到本地来弄. go的安装不多说了,GOPATH要设置好的. 先离线下载好https://github.com/astaxie/b ...
- C# asp.net 实现导出Excel
原文地址:传送门 这段时间用到了导出Excel的功能,这个功能还是比较常用的,我常用的有两个方法,现在整理一下,方便以后查看. 1.实现DataTable数据导出到本地,需要自己传进去导出的路径. / ...