FForellin
Ruang kerja kode dengan AI

Hutan rentang minimum

Cari hutan rentang minimum untuk maksimal 64 simpul dan 1024 sisi berbobot bulat dalam ±10^9.

● ● ●Forellin●
Alur kerja · Hutan rentang minimum ×
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
✳Hutan rentang minimum
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
  1. Tinjau sebelum menerapkan

    Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

  2. Model

    Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

  3. Proyek

    Uji simpul terpisah, sisi paralel, loop dan seri deterministis, tolak ujung salah atau boolean tanpa mengubah masukan.

Alur kerja

Hutan rentang minimum

Alur kerja ↗
Alur kerja
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
Ruang kerja kode dengan AI

Jadikan masukan tak terhubung bagian dari kontrak perangkat lunak graf

Forellin memberi pengembang ruang kerja pemrograman AI Windows untuk memeriksa kode pemrosesan graf bersama aplikasi yang bergantung padanya. Mulai percakapan proyek dengan representasi masukan dan hasil yang dibutuhkan pemanggil. Minta asisten memeriksa penanganan koneksi yang tidak ada, sisi berulang, dan urutan keluaran sebelum mengusulkan perubahan. Pilihan tersebut membentuk fitur sama besarnya dengan perhitungan inti.

Konteks spanning_forest.py menyarankan tugas ketika simpul tak terhubung memang diharapkan, bukan dianggap kegagalan menghubungkan semuanya. Anda dapat meminta model menjelaskan sisi yang dipilih dan hubungan jumlah total dengannya. Tinjau jawaban menggunakan graf kecil yang bisa diperiksa manual, lalu minta tambalan terarah jika kontrak hasil atau validasi perlu disesuaikan.

Jalankan pemeriksaan proyek pada masukan terhubung dan tak terhubung, serta periksa representasi simpul terisolasi dalam aplikasi di sekitarnya. Jika ada beberapa hasil valid, sepakati apakah pemilihan deterministik penting bagi pengguna hasil. Forellin menerima endpoint yang didukung, baik yang kompatibel dengan OpenAI maupun Anthropic, dengan kredensial jika diperlukan. Model AI tanpa filter dapat dipilih jika ditawarkan, tetapi pembatasan model, alat, dan kapasitas konteks tetap bergantung pada layanan yang dikonfigurasi. Ruang kerja mendukung penyelidikan Anda; contoh graf dan hasil pengujian mendukung penerimaan kode.

Pertanyaan untuk perubahan pemrosesan graf

Haruskah masukan tak terhubung selalu ditolak?

Hanya jika aplikasi membutuhkan satu struktur terhubung. Untuk hasil berupa hutan, komponen tak terhubung bisa valid. Nyatakan perbedaan itu sebelum meminta perbaikan agar asisten tidak memaksakan koneksi yang tidak pernah diberikan oleh masukan.

Bagaimana jika beberapa pilihan sisi memiliki jumlah total sama?

Putuskan apakah sembarang solusi optimal yang valid dapat diterima atau pengguna hasil memerlukan pilihan yang dapat diulang. Jika urutan atau perilaku seri penting, jadikan bagian dari hasil yang diharapkan dan uji secara eksplisit, bukan mengandalkan urutan masukan kebetulan.

Bagaimana memeriksa jumlah total yang dilaporkan?

Gunakan contoh kecil dan bandingkan sisi terpilih dengan jumlah bobotnya secara independen. Periksa juga apakah pemanggil hanya mengharapkan jumlah total atau struktur terpilih, karena keluaran tersebut mendukung perilaku aplikasi yang berbeda.

Mengapa menguji simpul terisolasi secara terpisah?

Simpul itu dapat hilang dari hasil yang hanya berisi sisi meskipun ada dalam masukan. Periksa representasi di sekitarnya dan putuskan cara aplikasi mempertahankan atau menampilkannya, alih-alih menganggap sisi terpilih menggambarkan setiap simpul.

Unduh untuk Windows ↗

Forellin · Diperbarui 2026-10-25