暴力列舉/spfa/bellman-ford/奇怪的貪心/超神搜尋
輸入格式:
第一行乙個正整數t表示資料組數,對於每組資料:
第一行兩個正整數n m,表示圖有n個頂點,m條邊
接下來m行,每行三個整數a b w,表示a->b有一條權值為w的邊(若w<0則為單向,否則雙向)
輸出格式:
共t行。對於每組資料,存在負環則輸出一行"ye5"(不含引號),否則輸出一行"n0"(不含引號)。
輸入樣例#1:複製
2輸出樣例#1:複製3 41 2 2
1 3 4
2 3 1
3 1 -3
3 31 2 3
2 3 4
3 1 -8
n0n\leq 2000n≤2000m\leq 3000m≤3000-10000\leq w\leq 10000−10000≤w≤10000t\leq 10t≤10建議複製輸出格式中的字串。 本題資料感謝@negiizhao的精心構造,請不要使用玄學演算法本題資料有更新ye5
spfa求負環,當乙個點經過次數==n時跳出
#includeusing namespace std;
const int n=1e6+5;
int n,m,l,r,d[n],num[n],q[n];
int cnt,he[n],to[n],nxt[n],w[n];
bool f,fl[n];
int read()
while(ch>='0'&&ch<='9')
ret=(ret<<1)+(ret<<3)+ch-'0',ch=getchar();
return f?-ret:ret;
}inline void add(int u,int v,int k)
int main()
f=0;
l=1,r=2,q[1]=1; d[1]=0;
while(l!=r)
num[v]++;
if(num[v]==n) }}
if(f) break;
} if(!f) puts("no");
} return 0;
}
luogu P3385 模板 負環
給定乙個 n 個點的有向圖,請求出圖中是否存在從頂點 1 出發能到達的負環。負環的定義是 一條邊權之和為負數的迴路。這個就是 luogu 上正常的判斷負環,那我們就按這 spfa 判斷負環的方法做就可以了。include include include using namespace std str...
luogu P3385 模板 負環
暴力列舉 spfa bellman ford 奇怪的貪心 超神搜尋 輸入格式 第一行乙個正整數t表示資料組數,對於每組資料 第一行兩個正整數n m,表示圖有n個頂點,m條邊 接下來m行,每行三個整數a b w,表示a b有一條權值為w的邊 若w 0則為單向,否則雙向 輸出格式 共t行。對於每組資料,...
Luogu P3385 模板 負環
暴力列舉 spfa bellman ford 奇怪的貪心 超神搜尋 輸入格式 第一行乙個正整數t表示資料組數,對於每組資料 第一行兩個正整數n m,表示圖有n個頂點,m條邊 接下來m行,每行三個整數a b w,表示a b有一條權值為w的邊 若w 0則為單向,否則雙向 輸出格式 共t行。對於每組資料,...