社区讨论

30分求条嘤嘤嘤

P3385【模板】负环参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m6rv7ygu
此快照首次捕获于
2025/02/05 20:08
去年
此快照最后确认于
2025/02/06 07:55
去年
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
const int N=2e3+5,M=6e3+5;
long long n,m,mm,u[M],v[M],w[M],T,dis[N],cnt=0,uu,vv,ww;
bool njzy(int s){
	while (true){cnt++;
		bool flag = true;
		for (int i = 1; i <= mm; ++i){
			if (dis[u[i]] + w[i] < dis[v[i]]){
				dis[v[i]] = dis[u[i]] + w[i];
				flag = false;}}
		if (flag) return false;
		if (cnt >= n) return true;}}
int main(){
	cin>>T;
	while (T--){cin>>n>>m;mm=0;
		for (int i = 1; i <= m; ++i){
			cin>>uu>>vv>>ww;mm++;
			u[mm] = uu, v[mm] = vv, w[mm] = ww;
			if (ww >= 0){mm++;
				u[mm] = vv, v[mm] = uu, w[mm] = ww;}}
		if (njzy(1)) cout << "YES" << endl;
		else cout << "NO" << endl;}
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...