Fişierul intrare/ieşire:copacsmenar.in, copacsmenar.outSursăConcursul National de Informatica "Adolescent Grigore Moisil" 17
AutorFlorin ChiricaAdăugată deAGMinformaticaAGMInformatica AGMinformatica
Timp execuţie pe test0.2 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Copacul Smenar

Andrei asculta melodiile lui Bob Marley si astfel afla despre miscarea Rastafari. Impresionat, decide sa-si creeze propria religie. Din miscarea Rastafari, va prelua doar o singura parte care i-a placut cel mai mult. De asemenea, tot atunci devine si administratorul infoarena.ro, careia, in mod nesurprinzator, ii alege culoarea verde. Tot atunci creeaza o lista cu problemele importante ale site-ului, unele idei din acea lista fiind relevante chiar si in zilele noastre.

Tanarul Rastaman vrea sa gaseasca un ritual de initiere pentru elevii sai, pentru a afla daca sunt demni de a fi parte a cultului. Astfel, un tanar pe cale de a fi initiat este dus in Templul Smecheriei, la Copacul Smenar. Copacul poate fi privit ca un arbore cu n noduri, cu costuri pe muchii. Radacina arborelui este nodul 1.

Dupa ce fumeaza pipa pacii, distantele pe arbore se modifica. Andrei ii da invatacelului o pereche de numere (A, B). Distanta dintre 2 noduri x si y se calculeaza astfel: luam fiecare muchie de pe drumul unic de la x la y. Daca muchia ne apropie de radacina, costul ei se inmulteste cu A. Daca muchia ne departeaza de radacina, costul ei se inmulteste cu B. La final, adunam numerele obtinute pentru fiecare muchie.

Andrei da m restrictii de forma (x, y, valmin, valmax): distanta intre nodul x si y este cuprinsa intre valmin si valmax. Apoi, urmeaza q query-uri de forma (A, B): Pentru o pereche (A, B) data de Andrei, sunt toate cele m restrictii indeplinite? Raspundeti corect la cele q query-uri pentru o viata mai verde.

Date de intrare

Fişierul de intrare copacsmenar.in contine pe prima linie numerele n, m si q. Pe cea de-a doua linie este data descrierea arborelui prin intermediul a 3 numere: x, y si c, reprezentand ca exista o muchie intre x si y de cost c. Urmatoarele m linii descriu restrictiile prin 4 numere: x, y, valmin, valmax, semnificand ca distanta intre nodul x si y este cuprinsa intre valmin si valmax. Urmatoarele q linii descriu query-urile, printr-o pereche de numere (A, B).

Date de ieşire

În fişierul de ieşire copacsmenar.out se vor afisa q numere. Al i-lea numar corespunde celui de-al i-lea query. In cazul in care perechea corespunzatoare query-ului respecta toate restrictiile, se va afisa 1. In caz contrar, se va afisa 0.

Restricţii

  • 1 ≤ n ≤ 50
  • 1 ≤ m ≤ n*(n-1)
  • 1 ≤ q ≤ 100000
  • Costurile muchiior sunt numere intregi care, in valoare absoluta nu depasesc 1000.
  • Valorile lui valmin si valmax sunt numere intregi care, in valoare absoluta nu depasesc 10^7.
  • Valorile lui A si B din query-uri sunt numere intregi care, in valoare absoluta nu depasesc 10^7.
  • Perechile ordonate (x, y) din cele m restrictii sunt distincte 2 cate 2, iar x != y.
  • In ciuda restrictiei specifice a lui n, problema nu are nicio legatura cu plaforma TopCoder :(

Exemplu

copacsmenar.incopacsmenar.out
3 1 3
1 2 1
1 3 -1
2 3 0 10
1 1
20 10
21 10
1
1
0

Explicaţie

Avem o singura restrictie de indeplinit: distanta de la nodul 2 la nodul 3 sa fie cuprinsa intre 0 si 10. Drumul de la 2 la 3 e format din muchiile 2-1 si 1-3. Muchia 2-1 ne apropie de radacina, iar muchia 1-3 ne departeaza de ea. Deci costul drumului este costul muchie de la 2 la 1 inmultit cu A + costul muchiei de la 1 la 3 inmultit cu B. Deci costul drumului este A - B.

Trebuie ca A - B sa fie cuprins intre 0 si 10. Pentru cele 3 query-uri, rezultatele sunt 0, 10 si 11, deci doar primele 2 query-uri respecta restrictia.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?