Trenuri

Time limit: 0.6s Memory limit: 64MB Input: trenuri.in Output: trenuri.out

Cerință

Rețeaua de căi ferate dintr-o țară are forma unui arbore. Nodurile sunt orașe ale țării, iar muchiile reprezintă perechi de orașe între care există o linie ferată. Fiecare muchie are o lungime dată în kilometri.

Nodul 11 este capitala țării. La un moment dat, din două orașe date pleacă simultan trenuri către capitală, pe drumul cel mai scurt (drumul elementar unic în arbore între nodul de unde pleacă trenul și nodul 11). Fiecare tren are o viteză exprimată în kilometri, iar trenurile au viteze diferite.
Trenurile vor trece prin gări fără staționari.
Este o problemă dacă cele două trenuri ajung să se intersecteze într-un moment pe una dintre muchii, trenul mai lent fiind depășit de trenul mai rapid. În acest caz, între capetele muchiei respective ar trebui construită o linie ferată suplimentară. Vrem să identificăm aceste cazuri. De reținut că dacă traseele a două trenuri ajung să se intersecteze fix într-un oraș, nu este nevoie să se construiască ceva suplimentar (în orașe sunt gări care au mai multe linii de rezervă).
Dată fiind structura arborelui, trebuie să răspundem la mai multe interogări de tipul descris mai sus. În cazul în care la o interogare ar trebui construită o linie ferată suplimentară, trebuie să indicăm și muchia unde traseele trenurilor se intersectează.

Date de intrare

Fișierul trenuri.in conține pe prima linie numărul de orașe din țară, notat nn. Pe următoarele n1n-1 linii se află câte o muchie descrisă prin 33 valori, respectiv: extremitățile ei (numere de la 11 la nn) și lungimea sa în kilometri (număr natural pozitiv). Pe linia următoare se află valoarea mm, reprezentând numărul de interogări. Pe fiecare din următoarele mm linii este descrisă o interogare prin 4 valori: T1T_1, V1V_1, T2T_2, V2V_2, respectiv: orașul din care pleacă primul tren, viteza primului tren, orașul din care pleacă al doilea tren, viteza celui de-al doilea tren.

Date de ieșire

Fișierul trenuri.out va conține mm linii, câte una pentru fiecare interogare, în ordinea în care acestea apar în fișierul de intrare. Dacă trenurile corespunzătoare unei interogări nu se intersectează strict pe o muchie, pe linia corespunzătoare se va scrie doar valoarea 00. În cazul în care trenurile se intersectează strict pe o muchie, pe linia respectivă se va scrie 11 și nodurile care descriu muchia pe care se intersectează, în ordine crescătoare.

Restricții și precizări

  • 1n100 0001 \leq n \leq 100 \ 000;
  • 1m100 0001 \leq m \leq 100 \ 000;
  • Pentru 30%30\% din teste, 1n1 0001 \leq n \leq 1 \ 000 și 1m1 0001 \leq m \leq 1 \ 000;
  • Lungimile muchiilor și vitezele trenurilor sunt numere naturale pozitive 10 000\leq 10 \ 000;
  • Pentru orice interogare:
    • T1T2T_1 \neq T_2;
    • V1V2V_1 \neq V_2.
  • Interogările sunt independente;
  • Pentru 5151 de puncte n1 000n \leq 1 \ 000 și m1 000m \leq 1 \ 000;
  • Pentru 2323 de puncte dintre acestea, arborele este "linie".

Exemplu

trenuri.in

6
1 2 6
2 3 2
2 4 2
2 5 5
4 6 40
3
3 2 4 1
3 2 5 4
4 1 5 4

trenuri.out

0
1 1 2
0

Explicație

Trenurile 33 și 44 nu se vor întâlni. De exemplu trenul 11 după o oră este în orașul 22, iar trenul 44 este atunci la jumătatea muchiei dintre orașele 44 și 22. În plus, trenul 44 merge mai încet ca 33.
Trenurile 33 și 55 se întâlnesc pe muchia (2,1)(2, 1). Trenul 55 depășește trenul 33 la un moment dat strict pe această muchie.
Trenurile 44 și 55 nu se întâlnesc (trenul 44 ajunge în orașul 22 după 22 ore iar trenul 55 este deja trecut, în acel moment, de orașul 22, mergând spre 11 și cu o viteză mai mare.

Log in or sign up to be able to send submissions!