挑战全场最短可食用代码2.0版本
  • 板块P1137 旅行计划
  • 楼主qwe777
  • 当前回复8
  • 已保存回复8
  • 发布时间2025/2/2 10:53
  • 上次更新2025/2/2 18:13:57
查看原帖
挑战全场最短可食用代码2.0版本
1288382
qwe777楼主2025/2/2 10:53
#include <bits/stdc++.h>
using namespace std;
int d[100001];
vector<int> end[100001];
int dp(int now){
    if(d[now]!=-1)	return d[now];
    d[now]=1;
    for(int i=0;i<end[now].size();i++)
        d[now]=max(d[now],dp(end[now][i])+1);
    return d[now];
}
int main(){
    int n,m;
    memset(d,-1,sizeof(d));
    cin>>n>>m;
    int a,b;
    for(int i=1;i<=m;i++){
        scanf("%d %d",&a,&b);
        end[b].push_back(a);
    }
    for(int i=1;i<=n;i++)
        printf("%d\n",dp(i));
    return 0;
}

24行!

2025/2/2 10:53
加载中...