CE求调
  • 板块P1807 最长路
  • 楼主_logic
  • 当前回复6
  • 已保存回复6
  • 发布时间2025/1/21 13:38
  • 上次更新2025/1/21 15:45:59
查看原帖
CE求调
1085328
_logic楼主2025/1/21 13:38
#include<bits/stdc++.h>
#define int long long
using namespace std;
int \
n,\
m,\
s=1,\
u,\
v,\
w,\
dis[10005],\
a\
;
bool \
vis\
[\
10005\
]\
;
struct \
xian\
{
	int \
	v\
	;
	int \
	c\
	;
}\
;
vector\
<xian> \
di\
[\
10005\
]\
;
void \
f\
(int s)\
{
	queue\
	<int> \
	q\
	;
	q\
	.\
	push\
	(\
	s\
	)\
	;
	vis[\
	s\
	]\
	=\
	1\
	;
	dis\
	[\
	s\
	]\
	=\
	0\
	;
	while\
	(\
	q\
	.\
	size\
	(\
	)\
	)\
	{
		a\
		=\
		q\
		.\
		front\
		(\
		)\
		;
		q\
		.\
		pop\
		(\
		)\
		;
		vis\
		[\
		a\
		]\
		=\
		0\
		;
		for\
		(\
		int \
		i\
		=\
		0\
		;\
		i\
		<\
		di\
		[\
		a\
		]\
		.\
		size\
		(\
		)\
		; \
		i++\
		)
			if\
			(\
			di\
			[\
			a\
			]\
			[\
			i\
			]\
			.\
			c\
			+\
			dis\
			[\
			a\
			]\
			>\
			dis\
			[\
			di\
			[\
			a\
			]\
			[\
			i\
			]\
			.\
			v\
			]\
			)\
			{
				dis\
				[\
				di\
				[\
				a\
				]\
				[\
				i\
				]\
				.\
				v\
				]\
				=\
				di\
				[\
				a\
				]\
				[\
				i\
				]\
				.\
				c\
				+\
				dis\
				[\
				a\
				]\
				;
				if\
				(\
				!\
				vis\
				[\
				di\
				[\
				a\
				]\
				[\
				i\
				]\
				.\
				v\
				]\
				)\
				{
					q\
					.\
					push\
					(\
					di\
					[\
					a\
					]\
					[\
					i\
					]\
					.\
					v\
					)\
					;
					vis\
					[\
					di\
					[\
					a\
					]\
					[\
					i\
					]\
					.\
					v\
					]\
					=\
					1\
					;
				}
			}
	}
}
signed \
main\
(\
)\
{
	cin\
	>>\
	n\
	>>\
	m\
	;
	for\
	(\
	int \
	i\
	=\
	1\
	; \
	i\
	<=\
	m\
	; \
	i++\
	)\
	{
		cin\
		>>\
		u\
		>>\
		v\
		>>\
		w;
		di[u].push_back(xian{v,w})\
		;
	}
	for\
	(\
	int\
	 i\
	=\
	1\
	; \
	i\
	<=\
	n\
	; \
	i++\
	)
		dis\
		[\
		i\
		]\
		=\
		-INT_MAX;
	f\
	(\
	s\
	)\
	;
	cerr\
	<<\
	dis\
	[\
	n\
	]\
	<<\
	" "\
	;
	if\
	(\
	dis\
	[\
	n\
	]\
	==\
	-INT_MAX\
	)	cout\
	<<\
	-1\
	;
	else cout\
	<<\
	dis[n]\
	;
	return \
	0\
	;
}
2025/1/21 13:38
加载中...