somnoros

Time limit: 0.7s Memory limit: 512MB Input: Output:

Motanul Somnorilă este un motan foarte somnoros! Cât timp dormea, el a avut un vis, în care el se afla împreună cu un șoricel într-un labirint. Ce este special la acest labirint este că toate drumurile între camere labirintului pot fi parcurse doar într-un sens, iar într-o plimbare prin labirint el nu are cum să treacă de două ori prin aceeași cameră. Mai mult, doar motanul știe harta labirintului, șoricelul neavând curajul să se mute din camera lui curentă. Fiind un motan delicat, Somnorilă vrea să știe dacă din camera în care se află el momentan poate ajunge în camera șoricelului, ca să știe după ce se trezește dacă visul lui a fost un coșmar sau un vis!

Formal, vi se dă un graf orientat aciclic (DAG) cu NN noduri și MM muchii, și QQ întrebări de forma: poate fi accesat nodul YY din nodul XX?

Cerință

Trebuie să răspundeți la toate cele QQ întrebări ale lui Somnorilă.

Date de intrare

Pe prima linie se vor găsi numerele NN și MM, unde NN reprezintă numărul de noduri ale grafului, iar MM numărul de muchii. Pe următoarele MM rânduri, se vor găsi câte două numere XX și YY, care semnifică că în graf există muchie de la nodul XX la nodul YY. Pe linia M+2M + 2 se va afla numărul QQ, care reprezintă numărul de întrebări. Pe următoarele QQ rânduri se vor afla numerele XX și YY, care reprezintă o întrebare.

Date de ieșire

Răspunsul pentru fiecare întrebare va fi afișat pe câte o linie, în forma următoare: pe linia ii se va afișa răspunsul la a ii-a întrebare. Se va afișa 11, dacă din nodul XiX_i se poate ajunge în nodul YiY_i, sau 00 în caz contrar.

Restricții și precizări

  • 1N50 0001 \leq N \leq 50 \ 000
  • 1M200 0001 \leq M \leq 200 \ 000
  • 1Q100 0001 \leq Q \leq 100 \ 000
  • Se garantează că într-o muchie și într-un query nodul XX se va afla pe un nivel mai mic față de nodul YY.
  • Se garantează că pentru fiecare nod de pe un nivel X (X>1)X \ (X > 1) va exista cel puțin o muchie cu un nod de pe nivelul X1X - 1, () X>1(∀) \ X > 1.
  • Pentru 2828 de puncte, 1N,Q1 0001 \leq N, Q \leq 1 \ 000, testele NU sunt grupate.
  • Pentru alte 7272 de puncte se aplică restricțiile originale, iar testele sunt grupate câte 454 - 5 teste / grupă.

Exemplu

stdin

12 13
1 4
2 5
3 5
4 6
4 7
4 11
5 6
5 8
5 12
6 9
7 9
7 10
11 12
4
1 9
4 8
7 12
3 6

stdout

1
0
0
1

Explicație

  • Nodul 99 poate fi accesat din nodul 11. (Exemplu de drum: 14691 → 4 → 6 → 9)
  • Nodul 88 nu poate fi accesat din nodul 44.
  • Nodul 1212 nu poate fi accesat din nodul 77.
  • Nodul 66 poate fi accesat din nodul 33. (Exemplu de drum: 3563 → 5 → 6)

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