QOJ.ac

QOJ

Time Limit: 5 s Memory Limit: 256 MB Total points: 100

#7591. Stopkontak Ekstensi

Statistics

Allison memiliki banyak sekali perangkat elektronik, misalnya iMac, iPod, iPhone, dan iPad. Karena itu, ia berencana membeli stopkontak ekstensi untuk mengisi daya perangkat-perangkatnya. Setelah melakukan banyak riset di internet, Allison menemukan stopkontak ekstensi merek Tianyi yang indah dan ringkas (seperti pada gambar kiri bawah). Sejak pertama melihatnya, Allison langsung terpikat oleh bentuknya yang cantik, sehingga ia membeli $n$ stopkontak ekstensi model ini sekaligus.

problem_7591_0283918daac6309ec5059c89065f46d0.png

Namun, muncul masalah: di rumah Allison hanya ada satu stopkontak dinding. Ia harus menyalurkan listrik secara bertingkat dengan menghubungkan stopkontak-stopkontak ekstensi tersebut (seperti pada gambar kanan atas).

Sambungan stopkontak ekstensi membentuk struktur pohon: steker setiap stopkontak ekstensi dipasang ke salah satu lubang stopkontak ekstensi lain, kecuali simpul akar. Sambungan tidak boleh membentuk siklus.

Setiap stopkontak ekstensi memiliki tiga kabel: fase, netral, dan pembumian. Dengan bertambahnya jumlah stopkontak ekstensi serta keausan kabel, resistansi akibat kontak antarkabel dalam rangkaian sudah tidak dapat diabaikan.

Bagaimana menggambarkan struktur pohon stopkontak ekstensi dan hubungan resistansi antarkabel? Allison membuat model matematika: $a_i$ menyatakan nomor stopkontak ekstensi ke-$i$, dan $f_i$ menyatakan stopkontak ekstensi tempat stekernya dipasang, yaitu induk $a_i$ dalam pohon. $1$ menyatakan kabel fase, $2$ kabel netral, dan $3$ kabel pembumian. Resistansi seluruh rangkaian dapat dideskripsikan dengan $R(a_i,f_i,x,y)$, dengan $x,y\in\{1,2,3\}$, yang menyatakan resistansi antara kabel $x$ milik $a_i$ dan kabel $y$ milik $f_i$. Dalam model matematika ini, Allison menganggap kabel fase dan netral juga dapat terhubung dan menghasilkan resistansi. Berikut contohnya:

problem_7591_f31efe4ccd7a50f04e123e45aedf56cd.png

Seiring berjalannya waktu, resistansi antarkabel juga dapat berubah. Sekarang Allison ingin mengetahui resistansi saat ini antara kabel $x$ pada stopkontak ekstensi $a_i$ dan kabel $y$ pada stopkontak ekstensi $a_j$ dalam rangkaian pohon tersebut. Stopkontak ekstensi pada akar pohon tidak dipasang ke stopkontak ekstensi lain dan bernomor $1$.

Masukan

Baris pertama berkas masukan circuit.in berisi sebuah bilangan bulat positif $n$, yaitu jumlah stopkontak ekstensi.

Berikutnya terdapat $4(n-1)$ baris, dengan setiap 4 baris membentuk satu blok.

Baris pertama blok ke-$i$ berisi sebuah bilangan bulat $f_i$, yang menyatakan bahwa induk stopkontak ekstensi bernomor $i+1$ adalah stopkontak ekstensi $f_i$.

Berikutnya terdapat matriks $g_{xy}$ berukuran $3\times3$. Elemen pada baris $x$ dan kolom $y$ menyatakan kebalikan resistansi antara kabel $x$ pada stopkontak ekstensi bernomor $i+1$ dan kabel $y$ pada $f_i$.

Berikutnya terdapat sebuah bilangan bulat $q$, yaitu jumlah operasi.

Masing-masing dari $q$ baris berikutnya berisi beberapa bilangan bulat.

Bilangan bulat pertama adalah $k$. Jika $k=1$, berikutnya terdapat empat bilangan bulat $a_i,x_i,x_j,g$, yang menyatakan bahwa resistansi antara kabel $x_i$ pada stopkontak ekstensi $a_i$ dan kabel $x_j$ pada induknya, $f_i$, diubah menjadi kebalikan $g$. Dijamin $2\le a_i\le n$.

Jika $k=2$, berikutnya terdapat empat bilangan bulat $a_i,x_i,a_j,x_j$, yang menanyakan resistansi antara kabel $x_i$ pada stopkontak ekstensi $a_i$ dan kabel $x_j$ pada stopkontak ekstensi $a_j$. Dijamin $a_i\ne a_j$.

Keluaran

Keluarkan jawaban ke berkas circuit.out.

Untuk setiap pertanyaan, keluarkan satu baris berisi sebuah bilangan real yang menyatakan resistansi antara kedua kabel.

Nilai resistansi dianggap benar jika

$$\left|\frac{\text{keluaran peserta}-\text{keluaran standar}}{\text{keluaran standar}}\right|<10^{-3}.$$

Jika semua nilai resistansi benar, peserta memperoleh nilai untuk kasus uji tersebut.

Contoh

Masukan 1

3
1
6 7 1
4 1 8
8 3 3
2
7 5 8
10 5 7
10 5 5
10
1 3 1 2 2
1 2 2 3 5
2 3 2 2 2
1 2 3 2 5
1 3 1 2 3
2 1 2 2 3
1 3 2 1 2
2 2 1 1 1
1 2 1 2 5
2 3 1 1 2

Keluaran 1

0.083836
0.095256
0.078828
0.146900

Contoh 2

Lihat circuit/circuit.in dan circuit/circuit.ans dalam direktori peserta.

Batasan

Untuk semua data uji, masukan dijamin membentuk sebuah pohon. Kebalikan setiap resistansi dalam masukan lebih besar dari $0$ dan tidak lebih dari $10$.

Nomor kasus uji Sifat
$1$–$6$ $n\le100,\ q\le1000$; masukan dijamin hanya berisi pertanyaan, tanpa perubahan
$7$–$10$ $n\le1000,\ q\le1000$; data dijamin membentuk sebuah rantai
$11$–$16$ $n\le10000,\ q\le10000$; tinggi pohon dijamin tidak lebih dari $30$
$17$–$20$ $n\le10000,\ q\le10000$

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.