这绝壁是我见过最快的找正环方法了,dfs找环 + 巧妙的找正环(负环方法)!!!
int spfa(int x) {
vis[x] = 1;
for (int i = 0; i < G[x].size(); i++) {
int p = G[x][i].p;
if (dis[p] < dis[x] + G[x][i].len) {
dis[p] = dis[x] + G[x][i].len;
if (vis[p] == 1) {
flag = 1;
return 0;
}
spfa(p);
}
}
vis[x] = 0;
return 0;
}