博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT1076. Forwards on Weibo (30)
阅读量:4665 次
发布时间:2019-06-09

本文共 1462 字,大约阅读时间需要 4 分钟。

使用DFS出现超时,改成bfs

DFS

#include 
#include
#include
using namespace std;int n;int l;int i,j;int m,k;int follower[1001][1001];vector
user_list[1001];set
user_s;void queryU(int a,int depth){ if(depth==l){ return ; } for(int i=0;i
>n>>l; int a; for(i=1;i<=n;i++){ cin>>m; for(j=0;j
>a; user_list[a].push_back(i); } } cin>>k; int sum; for(i=0;i
>a; user_s.clear(); user_s.insert(a); queryU(a,0); cout<
<

  bfs

最后一个测试用例一直MLE,后来用指针优化,就报超时了。

后来参考 https://www.zhihu.com/question/28264519,把队列删除语句省掉,set省掉,终于AC了!

#include 
#include
#include
using namespace std;int n;int l;int i,j;int m,k;vector
user_list[1010];vector
que;int v[1005];int main(){ cin>>n>>l; int a; for(i=1;i<=n;i++){ cin>>m; for(j=0;j
>a; user_list[a].push_back(i); } } cin>>k; for(i=1;i<=k;i++){ cin>>a; v[a]=i; int depth=0; que.clear(); que.push_back(a); int levelSize=0; int count=1; for(int z=0;z
*tmp=&user_list[num]; levelSize+=tmp->size(); for(int y=0;y
size();y++){ int temp_num=(*tmp)[y]; if(v[temp_num]!=i){ que.push_back(temp_num); v[temp_num]=i; } } if(count==0){ count=levelSize; levelSize=0; depth++; } if(depth==l){ break; } } cout<
<

  

 

转载于:https://www.cnblogs.com/yellowman/p/5359934.html

你可能感兴趣的文章
使用jsoup进行网页内容抓取
查看>>
深入理解JVM内幕:从基本结构到Java 7新特性
查看>>
[NodeJs]入门经典
查看>>
准确判断listview上下滚动
查看>>
codeforces666A
查看>>
比较真实的下雪效果
查看>>
MongoDB 3.2 从安装到使用。
查看>>
CFround#380 div2
查看>>
设计模式基础知识备忘
查看>>
中国国家气象局天气预报信息接口
查看>>
牛客寒假算法基础集训营2 处女座的砝码 (思维)
查看>>
Samba 3.5.10 发布
查看>>
ORACLE升级PSU&OJVM注意的问题及遇到问题解决思路
查看>>
框架篇:Spring+SpringMVC+hibernate整合开发
查看>>
Masonry教程--IOS自适配,丢掉Autolayout吧
查看>>
java调用.net的webservice接口
查看>>
wifi使用的一些误区
查看>>
跨页传值另一种方法
查看>>
最短路相关
查看>>
Java基础学习总结 -- 多线程的实现
查看>>