QAQ不资磁负环的最短路算法
模板酱
#include#include #include #include #define inf 233333333333using namespace std;struct edge{ int from,to,cost;};//邻接矩阵 edge es[100000];//存边 int d[100000];//最短路 int v,e;//v顶点数 e边数 void floyd(int s)//求解从s出发的最短路 { for(int i=0;i d[e.from]+e.cost) { d[e.to]=d[e.from]+e.cost; update=true; } } if(!update)break; } } int main(){ cin>>v>>e; int s,t; for(int i=0;i
bool floyd()//如果返回true->存在负环 { memset(d,0,sizeof(d)); for(int i=0;id[e.from]+e.cost) { if(i==v-1)return true; //如果第n次仍然更新了,则存在负圈 } } } return false;}