eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Місто під струмом

Місто під струмом

Мер міста Бітберг вирішив провести струм між деякими будинками у своєму місті. Під’єднання двох будинків відбувається через прокладення кабелю деякого опору \textbf{R} між цими двома будинками. Кабель двосторонній -- це означає що струм може іти як від першого будинку до другого, так і навпаки. Гарантується, що система кабелів утворює зв’язний граф, тобто існує один або декілька шляхів між будь-якими двома парами будинків. Після прокладки усіх кабелів до Містера \textbf{01101} (він же мер міста Бітберг) наглянула пожежна служба, щоб переконатися, що опір провідників між деякими двома будинками не перевищує норми опору між цими будинками. Ваша задача допомогти пожежникам швидко для декількох пар будинків визначити, чи опір між цими будинками знаходиться в межах норми. \InputFile Будинки нумеруються від \textbf{1} до \textbf{N} (\textbf{N} ≤ \textbf{100}), кабелі задаються парами (\textbf{u}, \textbf{v}), усього \textbf{M} штук (\textbf{M} ≤ \textbf{10000}), також задається матриця \textbf{A} розміром \textbf{N}×\textbf{N} де задається максимальний опір між довільними двома будинками, також матриця \textbf{B} -- мінімальний опір між довільними двома будинками. Елементи \textbf{A­_ii} та \textbf{B_ii}_\{ \}завжди рівні \textbf{-1} і це означає, що немає обмежень на опір між будинком і самим собою. Матриці \textbf{A} та \textbf{B} симетричні, тобто \textbf{A_ij = A_ji} та \textbf{B_ij = B_ji}. \textbf{0} ≤ \textbf{A_ij}, \textbf{B_ij} ≤ \textbf{10^6}. Також задаються запити від пожежників у вигляді (\textbf{u}, \textbf{v}) де запитується опір між двома будинками. Усього запитів\textbf{Q} (\textbf{Q} ≤ \textbf{10}). На вхід подається три цілих числа \textbf{N M Q}. У наступних \textbf{M} рядках задається по два числа \textbf{u}, \textbf{v} -- опір дроту між будинками (\textbf{u}, \textbf{v}) (\textbf{1} ≤ \textbf{u}, \textbf{v} ≤ \textbf{N}). У наступних \textbf{N} рядках задано \textbf{N} чисел, де \textbf{j}-ий елемент у \textbf{i}-му рядку відповідає елементу \textbf{A_ij}. У наступних \textbf{N} рядках задано \textbf{N} чисел, де \textbf{j}-ий елемент у \textbf{i}-му рядку відповідає елементу \textbf{B_ij}. У наступних \textbf{Q} рядках задається два числа (\textbf{u}, \textbf{v}) (\textbf{1} ≤ \textbf{u}, \textbf{v} ≤ \textbf{N}) - запити пожежників над будинками \textbf{u} та \textbf{v}. \OutputFile \textbf{Q} рядків, у кожному з яких або "\textbf{Yes}" (без лапок), якщо опір між будинками задовольняє дозволеним межам пожежників, а також сам цей опір з точністю до \textbf{10^\{-7\}}, або слово "\textbf{No}" (без лапок), якщо опір не задовольняє умовам пожежників.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3 2 1
1 2 100
2 3 200
-1 200 400
200 -1 300
400 300 -1
-1 0 0 
0 -1 0
0 0 -1
1 3
Вихідні дані #1
Yes 300.0000000