社区讨论
求调37分
P1807最长路参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjh6079
- 此快照首次捕获于
- 2025/11/04 02:30 4 个月前
- 此快照最后确认于
- 2025/11/04 02:30 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
queue<int>q;
int a[1505][1505],b[1505],c[1505];
int main(){
int x,y;
cin>>x>>y;
for(int i=1;i<=y;i++){
int m,j;
cin>>m>>j;
cin>>a[m][j];
b[j]++;
}
q.push(1);
while(!q.empty()){
int sum=q.front();
q.pop();
for(int i=sum+1;i<=x;i++){
if(a[sum][i]!=0){
c[i]=max(c[i],c[sum]+a[sum][i]);
b[i]--;
if(b[i]==0){
q.push(i);
}
}
}
}
if(c[x]){
cout<<c[x];
}else{
cout<<-1;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...