904. 虫洞_虫洞引擎

904. 虫洞_虫洞引擎Acwing904.虫洞

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Powered by:NEFU AB-IN

Link

904. 虫洞

  • 题意

    见原题

  • 思路

    看是否有负环即可

    • 别忘把所有点都入队
  • 代码

    ''' Author: NEFU AB-IN Date: 2022-04-16 16:17:22 FilePath: \ACM\Acwing\904.py LastEditTime: 2022-04-16 16:17:23 '''
    from collections import deque
    
    N = 550
    INF = int(1e9)
    g = [[] for _ in range(N)]
    dist, st, cnt = [INF] * N, [0] * N, [0] * N
    
    
    def spfa():
        q = deque()
        for i in range(1, n + 1):
            q.appendleft(i)
            st[i] = 1
            dist[i] = 0
        while q:
            u = q.pop()
            st[u] = 0
    
            for v, w in g[u]:
                if dist[v] > dist[u] + w:
                    dist[v] = dist[u] + w
                    if st[v] == 0:
                        st[v] = 1
                        q.appendleft(v)
                    cnt[v] = cnt[u] + 1
                    if cnt[v] >= n:
                        return 1
        return 0
    
    
    for _ in range(int(input())):
        g = [[] for _ in range(N)]
        dist, st, cnt = [INF] * N, [0] * N, [0] * N
    
        n, m, w = map(int, input().split())
        for i in range(m):
            u, v, t = map(int, input().split())
            g[u].append([v, t])
            g[v].append([u, t])
        for i in range(w):
            u, v, t = map(int, input().split())
            g[u].append([v, -t])
        if spfa():
            print("YES")
        else:
            print("NO")
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193704.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月20日 上午11:15
下一篇 2025年11月20日 上午11:43


相关推荐

  • JVM内存结构图解

    JVM内存结构图解一 真实系统中的概念  JVM(JavaVirtualMachine),顾名思义是对真实计算机系统的模拟,正因如此才能屏蔽物理机器的变化,从而实现“一次编译,到处运行”。  相信很多Java程序员经常听到堆、栈等概念,也会进行设置调优以让Java应用能够更好地运行,但对于JVM与真实计算机系统之间的关系并没有特别清晰的认识。因此,这里先简单介绍下真实计算机系统中的一

    2022年6月4日
    50
  • 凸包算法(convex hull)

    凸包算法(convex hull)前言今天学习了几何算法 凸包算法 听着名字很奇怪 不知道它是干什么的 但其实也很简单 下面来介绍一下这种凸包算法和其 c 代码 凸包算法其实很简单 就是用一个的凸多边形围住所有的点 就好像桌面上有许多图钉 用一根紧绷的橡皮筋将它们全部围起来一样 算法详细步骤 1 找到所有点中纵坐标 y 最小的点 也就是这些点中最下面的点 记为 p0 2 然后计算其余点与该点的连线与 x 轴之间夹角

    2026年3月17日
    1
  • 在PyCharm命令行中使用conda数学库的方法

    在PyCharm命令行中使用conda数学库的方法首先打开 pycharm 的设置 搜索 termnal 在 Tools 目录下 设置环境然后添加环境变量 设置为 Conda 的目录最后点击左下角的小方块 再点击 Terminal 在命令行例输入 python base C Users kai Documents YourProject gt python 会得到进入 python 的提示 Python3 7 3 default Mar27

    2026年3月17日
    2
  • 数据库:视图和索引

    数据库:视图和索引目录一、视图1.什么是视图?2.为什么使用视图?3.如何使用视图?二、索引1.什么是索引?2.为什么使用索引?2.如何使用索引?(创建、删除)3.适用场景有哪些?4.注意事项有哪些?一、视图1.什么是视图?视图是一张虚拟表,并不在数据库中以存储数据值集的形式存在。在引用过程中依据基表动态生成。2.为什么使用视图?安全:有的数据是需要保密的…

    2022年7月22日
    10
  • java 文件句柄_Java文件句柄释放

    java 文件句柄_Java文件句柄释放Java 代码书写过程 文件资源的释放需要特别谨慎的对待 通常文件资源使用后必须 close 然后再删除 如果先删除但没有 close 掉 会造成文件句柄未被释放 这会造成实际使用磁盘空间较大 成为瓶颈 importjava io File importjava io FileOutputSt importjava io IOException publicclassF p

    2026年3月19日
    2
  • CORBA简介_吴帝聪简介

    CORBA简介_吴帝聪简介 1.CORBA:CommonObjectRequestBrokerArchitecture,通用对象请求代理体系。是由对象管理组(ObjectManagementGroup,OMG)制定的一种标准的面向对象分布式应用程序体系规范,旨在为异构分布式环境中,硬件和软件系统的互联而提出的一种解决方案。2.解决异构分布式系统两条主要原则:(1).寻求独立于平台的模型和抽象,这

    2022年4月19日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号