FForellin
พื้นที่เขียนโค้ดด้วย AI

ป่าแผ่ทั่วต่ำสุด

หาป่าแผ่ทั่วต่ำสุดสำหรับโหนดไม่เกิน 64 ตัวและเส้นเชื่อมจำนวนเต็มไม่เกิน 1024 เส้นที่มีน้ำหนักใน ±10^9.

● ● ●Forellin●
ขั้นตอนการทำงาน · ป่าแผ่ทั่วต่ำสุด ×
def spanning_forest(count, edges):
    if type(count) is not int or not 0 <= count <= 64 or type(edges) is not list or len(edges) > 1024:
        raise ValueError("forest.input")
    ordered = []
    for edge in edges:
        if type(edge) not in (list, tuple) or len(edge) != 3 or any(type(x) is not int for x in edge):
            raise ValueError("forest.edge")
        a, b, weight = edge
        if not 0 <= a < count or not 0 <= b < count or abs(weight) > 10**9:
            raise ValueError("forest.bounds")
        ordered.append((weight, min(a, b), max(a, b)))
    parent = list(range(count))
    def root(node):
        while parent[node] != node:
            parent[node] = parent[parent[node]]
            node = parent[node]
        return node
    selected, total = [], 0
    for weight, a, b in sorted(ordered):
        x, y = root(a), root(b)
        if x != y:
            parent[x] = y
            selected.append((a, b, weight))
            total += weight
    return total, selected
✳ป่าแผ่ทั่วต่ำสุด
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
  1. ตรวจสอบก่อนนำไปใช้

    เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม

  2. โมเดล

    ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก

  3. โปรเจกต์

    ทดสอบโหนดแยก เส้นขนาน วงตัวเอง และกรณีเสมอที่แน่นอน ปฏิเสธปลายผิดหรือบูลีนโดยไม่เปลี่ยนข้อมูล.

ขั้นตอนการทำงาน

ป่าแผ่ทั่วต่ำสุด

ขั้นตอนการทำงาน ↗
ขั้นตอนการทำงาน
def spanning_forest(count, edges):
    if type(count) is not int or not 0 <= count <= 64 or type(edges) is not list or len(edges) > 1024:
        raise ValueError("forest.input")
    ordered = []
    for edge in edges:
        if type(edge) not in (list, tuple) or len(edge) != 3 or any(type(x) is not int for x in edge):
            raise ValueError("forest.edge")
        a, b, weight = edge
        if not 0 <= a < count or not 0 <= b < count or abs(weight) > 10**9:
            raise ValueError("forest.bounds")
        ordered.append((weight, min(a, b), max(a, b)))
    parent = list(range(count))
    def root(node):
        while parent[node] != node:
            parent[node] = parent[parent[node]]
            node = parent[node]
        return node
    selected, total = [], 0
    for weight, a, b in sorted(ordered):
        x, y = root(a), root(b)
        if x != y:
            parent[x] = y
            selected.append((a, b, weight))
            total += weight
    return total, selected
พื้นที่เขียนโค้ดด้วย AI

ให้ข้อมูลไม่เชื่อมต่อเป็นส่วนหนึ่งของข้อกำหนดซอฟต์แวร์กราฟ

Forellin ให้พื้นที่เขียนโค้ดด้วย AI บน Windows สำหรับตรวจโค้ดประมวลผลกราฟร่วมกับแอปที่พึ่งพามัน เริ่มสนทนาโครงการด้วยรูปแบบข้อมูลเข้าและผลที่ฝั่งเรียกใช้ต้องการ ขอให้ผู้ช่วยตรวจการจัดการการเชื่อมต่อที่ขาด เส้นเชื่อมซ้ำ และลำดับผลก่อนเสนอแก้ไข ทางเลือกเหล่านี้กำหนดฟีเจอร์มากพอกับการคำนวณหลัก

บริบท spanning_forest.py ชี้ถึงงานที่โหนดไม่เชื่อมต่อเป็นสิ่งที่คาดไว้ แทนการมองว่าเป็นความพยายามเชื่อมทุกอย่างที่ล้มเหลว คุณอาจขอให้โมเดลอธิบายเส้นเชื่อมที่เลือกและผลรวมสัมพันธ์กับมันอย่างไร ตรวจคำตอบกับกราฟเล็กที่คำนวณเองได้ แล้วขอแพตช์เฉพาะจุดหากต้องปรับข้อกำหนดผลหรือการตรวจข้อมูล

รันการตรวจโครงการกับข้อมูลทั้งเชื่อมต่อและไม่เชื่อมต่อ และตรวจวิธีแทนโหนดโดดเดี่ยวในแอปโดยรอบ หากมีหลายผลที่ถูกต้อง ให้ตกลงว่าการเลือกแบบให้ผลซ้ำเดิมสำคัญต่อฝั่งใช้ผลหรือไม่ Forellin รับปลายทาง OpenAI-compatible หรือ Anthropic ที่รองรับ พร้อมข้อมูลรับรองเมื่อจำเป็น เลือกโมเดล AI ไร้การกรองได้เมื่อมีให้ แต่ข้อจำกัด เครื่องมือ และความจุบริบทยังขึ้นกับบริการที่ตั้งค่า พื้นที่ทำงานช่วยการสืบค้น ส่วนตัวอย่างกราฟและผลทดสอบรองรับการยอมรับโค้ด

คำถามสำหรับการแก้โค้ดประมวลผลกราฟ

ควรปฏิเสธข้อมูลไม่เชื่อมต่อเสมอหรือไม่

เฉพาะเมื่อแอปต้องการโครงสร้างเดียวที่เชื่อมต่อกัน สำหรับผลแบบป่า องค์ประกอบที่ไม่เชื่อมต่ออาจใช้ได้ ระบุความต่างนี้ก่อนขอแก้ เพื่อไม่ให้ผู้ช่วยบังคับสร้างการเชื่อมต่อที่ข้อมูลเข้าไม่เคยให้

หากหลายชุดเส้นเชื่อมมีผลรวมเท่ากันควรทำอย่างไร

ตัดสินใจว่ายอมรับคำตอบเหมาะที่สุดที่ถูกต้องชุดใดก็ได้ หรือฝั่งใช้ผลต้องการการเลือกที่ซ้ำเดิม หากลำดับหรือพฤติกรรมกรณีเสมอสำคัญ ให้เป็นส่วนหนึ่งของผลคาดหวังและทดสอบชัดเจน แทนการพึ่งลำดับข้อมูลเข้าโดยบังเอิญ

ตรวจผลรวมที่รายงานอย่างไร

ใช้ตัวอย่างเล็กและเทียบเส้นเชื่อมที่เลือกกับผลบวกน้ำหนักอย่างอิสระ ตรวจด้วยว่าฝั่งเรียกใช้ต้องการแค่ผลรวมหรือโครงสร้างที่เลือก เพราะผลสองแบบรองรับพฤติกรรมแอปต่างกัน

เหตุใดต้องทดสอบโหนดโดดเดี่ยวแยก

โหนดอาจหายจากผลที่มีเฉพาะเส้นเชื่อมแม้ข้อมูลเข้ามีโหนดนั้น ตรวจรูปแบบแทนข้อมูลโดยรอบและตัดสินใจว่าแอปควรเก็บหรือแสดงโหนดอย่างไร แทนการสมมติว่าเส้นเชื่อมที่เลือกอธิบายทุกจุดยอด

ดาวน์โหลดสำหรับ Windows ↗

Forellin · อัปเดต 2026-10-25