拓扑排序0分求助,样例过了,记忆化搜索的可以不进来
查看原帖
拓扑排序0分求助,样例过了,记忆化搜索的可以不进来
966082
huangmingyi楼主2023/12/19 19:54
#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N=5005;
queue<int> q;
vector<int> nbr[N];
int n,a,in[N],m,c[N];
void topo(){
	for(int i=1;i<=n;i++){
		if(in[i]==0){
			q.push(i);
		}
	}
	while(!q.empty()){
		int cur=q.front();
		q.pop();
		for(int i=0;i<nbr[cur].size();i++){
			int nxt=nbr[cur][i];
			in[nxt]--;
			if(c[cur]>c[nxt]){
				c[nxt]=c[cur]+1;
			}
			if(in[nxt]==0){
				q.push(nxt);
			}
		}
	}
}
signed main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int c;
		cin>>c>>a;
		in[a]++;
		nbr[c].push_back(a);
	}
	for(int i=1;i<=n;i++){
		c[i]=i;
	}
	topo();
	int maxn=-1e18;
	for(int i=1;i<=n;i++){
		maxn=max(maxn,c[i]);
	}
	cout<<maxn%80112002;
	return 0;
}
2023/12/19 19:54
加载中...