2924. Cari Juara II
Kesukaran: Sederhana
Topik: Graf
Terdapat n pasukan bernombor dari 0 hingga n - 1 dalam kejohanan; setiap pasukan juga merupakan nod dalam DAG.
Anda diberi integer n dan 0-diindeks tepi tatasusunan integer 2D dengan panjang m mewakili DAG, dengan >dges[i] = [u i, vi] menunjukkan bahawa terdapat kelebihan terarah daripada pasukan ui kepada pasukan vi dalam graf.
Tepi terarah dari a ke b dalam graf bermakna pasukan a lebih kuat daripada pasukan b dan pasukan b lebih lemah daripada pasukan a.
Pasukan a akan menjadi juara kejohanan jika tiada pasukan b yang lebih kuat daripada pasukan a.
Kembali pasukan yang akan menjadi juara kejohanan jika ada juara unik, jika tidak, pulangkan -1.
Nota
Contoh 1:
Contoh 2:
Kekangan:
Petunjuk:
Penyelesaian:
Kami perlu mengenal pasti pasukan dengan darjah 0 dalam Graf Akiklik Berarah (DAG) yang diberikan. Pasukan tanpa kelebihan masuk mewakili pasukan yang tiada pasukan lain lebih kuat daripadanya, menjadikan mereka calon untuk menjadi juara. Sekiranya terdapat satu pasukan dengan darjah 0, ia adalah juara yang unik. Jika terdapat berbilang atau tiada pasukan sedemikian, keputusannya ialah -1.
Mari laksanakan penyelesaian ini dalam PHP: 2924. Cari Juara II
Penjelasan:
Penghuraian Input:
- n ialah bilangan pasukan.
- tepi ialah senarai tepi terarah dalam graf.
Memulakan Dalam Darjah:
- Buat tatasusunan dalam Darjah saiz n yang dimulakan kepada 0.
Kira Dalam Darjah:
- Untuk setiap tepi [u, v], naikkan dalam darjah v (pasukan v mempunyai satu lagi kelebihan masuk).
Cari Calon:
- Lelar melalui tatasusunan inDegree dan kumpulkan indeks di mana dalam darjah ialah 0. Indeks ini mewakili pasukan tanpa pasukan lain yang lebih kuat.
Tentukan Johan:
- Jika betul-betul satu pasukan mempunyai darjah 0, ia adalah juara yang unik.
- Jika beberapa pasukan atau tiada pasukan mempunyai darjah 0, kembalikan -1.
Contoh Panduan
Contoh 1:
Kerumitan Masa:
Kerumitan Angkasa:
Penyelesaian ini cekap dan berfungsi dalam kekangan yang diberikan.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci Cari Juara II. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!