noip车站分级 拓扑排序
2024-08-29 06:05:54
这道题呢 每次输入一段数就把1~n里面没有在这组数里面的数和他们连一波 表示这些数比他们等级低 然后就搞一搞就好了哇
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int M=;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int f[M][M],cnt;
int in[M],x,n,m,v,sum[M];
int head,tail,ans=,q[M],num[M];
int main()
{
n=read(); m=read();
while(m--){
v=read(); cnt++;
for(int i=;i<=v;i++) q[i]=read(),sum[q[i]]=cnt;
for(int i=q[];i<=q[v];i++)if(sum[i]!=cnt){
for(int k=;k<=v;k++)
if(!f[i][q[k]]) f[i][q[k]]=,in[q[k]]++;
}
}
for(int i=;i<=n;i++) if(!in[i]) q[tail++]=i,num[i]++;
while(head!=tail){
int x=q[head++]; if(head>M) head=;
for(int i=;i<=n;i++) if(f[x][i]){
in[i]--;
if(!in[i]) {q[tail++]=i; num[i]=num[x]+;}
}
}
for(int i=;i<=n;i++) ans=max(ans,num[i]);
printf("%d\n",ans);
return ;
}
最新文章
- Lesson 23 A new house
- (转)Singleton 单例模式(懒汉方式和饿汉方式)
- Sqli-labs less 62
- Many To one 多对一
- Bzoj4556: [Tjoi2016&;Heoi2016]字符串 后缀数组
- android 上传图片到服务器Tomcat(Struts2)
- ng-class的使用
- delphi 程序窗体及控件自适应分辨率(通过ComponentCount遍历改变字体大小以及上下左右)
- 解读CSS的背景(background)样式
- JAVA 中的RMI是什么
- ios上禁止输入表情
- Object修改链表
- 关于oracle sql语句查询时表名和字段名要加双引号的问题详解
- deep learning RNN
- Spock - Document -04- Interaction Based Testing
- jquery发起get/post请求_或_获取html页面数据
- Java的反射机制与泛型擦除
- TCP/IP协议层
- php 根据身份证获取出身地址
- ELK系列六:Logstash的Filter模块