78分求助,wa了5和6
  • 板块P1807 最长路
  • 楼主MofanEU
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/2/21 16:08
  • 上次更新2023/11/5 02:56:13
查看原帖
78分求助,wa了5和6
466366
MofanEU楼主2021/2/21 16:08
#include <iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	int t[n+1][n+1];
	int len[n+1]={0};
	for (int i=0;i<n+1;i++)
	{
		for (int i2=0;i2<n+1;i2++)
		{
			t[i][i2]=10000;
		}
	}
	for (int i=0;i<m;i++)
	{
		int u,v,w;
		cin>>u>>v>>w;
		w=-w;
		if (t[u][v]<w){continue;}
		t[u][v]=w;
	}
	for(int i=1;i<n;i++)
	{
		int flag=0;
		for (int i2=1;i2<n+1;i2++)
		{
			for (int i3=1;i3<n+1;i3++)
			{
				if (t[i2][i3]!=10000)
				{
					int compare=len[i2]+t[i2][i3];
					if (compare<len[i3])
					{
						len[i3]=compare;
						flag=1;
					}
				}
			}
		}
		if(!flag)
		{
			break;
		}
	}
	if(len[n]==0)
	{
	cout<<-1;
	}
	else
	{
	cout<<-len[n];
	}
	system("pause");
	return 0;
}
2021/2/21 16:08
加载中...