⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4639992_ac_79ms_236k.cpp

📁 部分PKU上的源码
💻 CPP
字号:
//#include <stdio.h> 
#include <string>
#include <iostream> 
//#define max 10001 
//#define point 501 
using namespace std;
struct E{ 
    int u, v, w; 
}e[25000];
 int el, n, d[501];
 
 void bellman(){
     int i, j, f = 0;
     for(i = 0; i < n - 1; i++){
         f = 0;
         for(j = 0; j < el; j++){
             if(d[e[j].v] > d[e[j].u] + e[j].w){
                 d[e[j].v] = d[e[j].u] + e[j].w;
                 f = 1;
             }
         }
         if(!f){
             puts("NO");
             return;
         }
     }
     for(i = 0; i < el; i++){
         if(d[e[i].v] > d[e[i].u] + e[i].w){
             puts("YES");
             return;
         }
     }
     puts("NO");
 }
 
 int main(){
     int i, m, w, u, v, W, F;
     scanf("%d", &F);
     while(F--){
         el = 0;
		 
         scanf("%d%d%d", &n, &m, &w);
         for(i = 0; i < m; i++){
             scanf("%d%d%d", &u, &v, &W);
             e[el].u = u;
             e[el].v = v;
             e[el++].w = W;
             e[el].u = v;
             e[el].v = u;
             e[el++].w = W;
         }
         for(i = 0; i < w; i++){
             scanf("%d%d%d", &u, &v, &W);
             e[el].u = u;
             e[el].v = v;
             e[el++].w = -W;
         }
         bellman();
     }
     return 0;
 }
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -