博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu P1983 车站分级
阅读量:5214 次
发布时间:2019-06-14

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

#include
#include
#include
#include
#include
using namespace std;int n,m,s,stop[1005],head[1005],in[1005],dep[1005],ans,cnt;bool tag[1005],vis[1005][1005];struct edge{ int v,next;}e[1000005];inline void add(int u,int v){ e[++cnt].v=v; e[cnt].next=head[u]; head[u]=cnt;}int main(){ memset(head,-1,sizeof(head)); scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ memset(tag,0,sizeof(tag)); scanf("%d",&s); for(int j=1;j<=s;j++){ scanf("%d",&stop[j]); tag[stop[j]]=1; } for(int j=stop[1];j<=stop[s];j++){ if(!tag[j]){ for(int k=1;k<=s;k++){ if(vis[j][stop[k]])continue;//防止建重边,因为e[1000005] add(j,stop[k]); in[stop[k]]++; vis[j][stop[k]]=1; } } } } queue
q; for(int i=1;i<=n;i++){ if(!in[i]){ q.push(i); in[i]=-1; dep[i]=1; } } while(!q.empty()){ int u=q.front(); q.pop(); for(int i=head[u];i!=-1;i=e[i].next){ int v=e[i].v; in[v]--; if(!in[v]){ in[v]=-1; q.push(v); dep[v]=dep[u]+1; ans=max(ans,dep[v]); } } } printf("%d\n",ans);}

转载于:https://www.cnblogs.com/Y15BeTa/p/11427709.html

你可能感兴趣的文章
Mysql出现(10061)错误提示的暴力解决办法
查看>>
2018-2019-2 网络对抗技术 20165202 Exp3 免杀原理与实践
查看>>
NPM慢怎么办 - nrm切换资源镜像
查看>>
CoreData 从入门到精通(四)并发操作
查看>>
Swift - UIView的常用属性和常用方法总结
查看>>
Swift - 异步加载各网站的favicon图标,并在单元格中显示
查看>>
Java编程思想总结笔记Chapter 5
查看>>
[LeetCode]662. Maximum Width of Binary Tree判断树的宽度
查看>>
WinForm聊天室
查看>>
Python 从零学起(纯基础) 笔记(一)
查看>>
【Python学习笔记】1.基础知识
查看>>
梦断代码阅读笔记02
查看>>
Java 线程安全问题
查看>>
selenium学习中遇到的问题
查看>>
大数据学习之一——了解简单概念
查看>>
P1-13:集成日志组件 logback 2彩色日志
查看>>
Linux升级内核教程(CentOS7)
查看>>
Lintcode: Partition Array
查看>>
分享适合个人站长的5类型网站
查看>>
类别的三个作用
查看>>