请大佬留下代码,下面是写的代码,但是有错,有没有知道错哪里的大佬,或者有没有更简约的,展示一下,谢谢大佬

发布于 2022-09-12 13:36:17 字数 1770 浏览 19 评论 0

6e40ef91be723cef79d257266ad888c.jpg5692d594fab85776f42bca6edab8aa8.jpg167c941bc0a305c1a3577c64d1791e3.jpg

import sys
import re

class Node:
    def __init__(self,data = None, next = None):
        self.data = data
        self.next = next

class Queue:
    def __init__(self):
        self.head = Node()
        self.tail = self.head

    def put(self,n):
        self.tail.next = Node(n)
        self.tail = self.tail.next

    def get(self):
        return self.head.next.data

    def delete(self):
        g = self.head
        g.next = g.next.next
        if g.next==None:
            self.tail = g

def funcname():
    s = sys.stdin.readline()
    r = re.findall(r'd+', s)
    bridgelength = int(r[0])
    bridgeload = int(r[1])
    br = Queue()
    num = 1
    sw = 0
    sl = 0

    while True:
        s = sys.stdin.readline()
        if s=="":
            break
        r = re.findall(r'd+', s)
        for i in range(0,len(r),2):
            l = int(r[i])
            w = int(r[i+1])
            sw += w
            sl += l
            br.put([num,l,w])
            while sl-br.get()[1] >= bridgelength:
                t = br.get()
                sl -= t[1]
                sw -= t[2]
                br.delete()
            if sw>bridgeload:
                print(br.get()[0])
                return
            num += 1
    print(-1)

funcname()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文