求助,为什么#6RE了?
#include<bits/stdc++.h>
using namespace std;
/*struct node{
int wei,fin;
node(int _wei=0,int _fin=0){wei=_wei;fin=_fin;}
};
struct wa{
int a[5000][2];
int key;
wa(int _key=0){key=_key;}
};
typedef vector<node> wa;*/
int tot=0,n,m,u,v,w,maxw[1505],dl[10000],head=0,tail=0,ans[1505][1505];
int pop(){
if (tail>head){head++;return dl[head-1];}
return -1;
}
void join(int x){
dl[tail]=x;
tail++;
}
void bfs(int aa){
if (!(aa==-1)){
for (int i=1;i<=n;i++){
if (!(ans[aa][i]==2147483647)){
if (maxw[aa]+ans[aa][i]<maxw[i]){
maxw[i]=maxw[aa]+ans[aa][i];
join(i);
}
}else continue;
}
}
}
int main(){
cin>>n>>m;
for (int i=0;i<1503;i++){
maxw[i]=2147483647;
for (int j=0;j<1503;j++)ans[i][j]=2147483647;
}
for (int i=0;i<m;i++){
cin>>u>>v>>w;
if (-w<ans[u][v])
ans[u][v]=-w;
}
join(1);
maxw[1]=0;
while (head<tail){
bfs(pop());}
if(maxw[n]==2147483647)cout<<-1;
else cout<<-maxw[n];
return 0;
}```cpp
#include<bits/stdc++.h>
using namespace std;
/*struct node{
int wei,fin;
node(int _wei=0,int _fin=0){wei=_wei;fin=_fin;}
};
struct wa{
int a[5000][2];
int key;
wa(int _key=0){key=_key;}
};
typedef vector<node> wa;*/
int tot=0,n,m,u,v,w,maxw[1505],dl[10000],head=0,tail=0,ans[1505][1505];
int pop(){
if (tail>head){head++;return dl[head-1];}
return -1;
}
void join(int x){
dl[tail]=x;
tail++;
}
void bfs(int aa){
if (!(aa==-1)){
for (int i=1;i<=n;i++){
if (!(ans[aa][i]==2147483647)){
if (maxw[aa]+ans[aa][i]<maxw[i]){
maxw[i]=maxw[aa]+ans[aa][i];
join(i);
}
}else continue;
}
}
}
int main(){
cin>>n>>m;
for (int i=0;i<1503;i++){
maxw[i]=2147483647;
for (int j=0;j<1503;j++)ans[i][j]=2147483647;
}
for (int i=0;i<m;i++){
cin>>u>>v>>w;
if (-w<ans[u][v])
ans[u][v]=-w;
}
join(1);
maxw[1]=0;
while (head<tail){
bfs(pop());}
if(maxw[n]==2147483647)cout<<-1;
else cout<<-maxw[n];
return 0;
}