Manipulator


Submit solution

Points: 90 (partial)
Time limit: 3.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

Državno natjecanje iz informatike 2019. / Prva podskupina (1. i 2. razred) - 3. zadatak

Promatramo tvrtku od N zaposlenika označenih brojevima od 1 do N redom po položaju, što znači da je direktor označen brojem jedan, a svaka sljedeća osoba rangirana je niže od prethodne, tj. niže od osoba s manjim rednim brojem.

Unutar tvrtke, direktorove poruke prosljeđuju se na sljedeći način.

Među zaposlenicima postoji M usmjerenih veza oblika A → B sa značenjem da osoba A može poslati poruku osobi B.

Pritom je uvijek A < B, tj. poruku šalje samo više rangirana osoba niže rangiranoj, ne i obrnuto.

Poruke se mogu prosljeđivati, npr. poruka od direktora može doći do osobe 10 na sljedeći način: 1 → 3 → 4 → 10, pod uvjetom da postoje navedene tri veze.

Veze su takve da direktor može svakom zaposleniku izravno ili neizravno poslati poruku.

Kažemo da osoba A može manipulirati osobom B ako svaka poruka od direktora (osobe 1) mora najprije doći do osobe A da bi došla do osobe B.

Drugim riječima, A manipulira B ako direktor ne može izravno ili neizravno poslati poruku osobi B a da pritom osoba A nije dio dotičnog lanca prosljeđivanja.

(Specijalno, iz ove definicije slijedi da direktor manipulira svima.)

Želimo ispitati moguće nepravilnosti u radu ove tvrtke. U tu svrhu, vaš je zadatak za svaku osobu ispisati koliko ljudi ona manipulira.

ULAZNI PODACI

U prvom su retku prirodni brojevi N (2 ≤ N ≤ 500 000) i M (2 ≤ M ≤ 1 000 000), broj zaposlenika i broj veza.

U svakom od sljedećih M redaka dva su prirodna broja A i B (1 ≤ A < B ≤ N) čije je značenje da osoba A može poslati poruku osobi B. Isti par A, B neće se navesti više puta.

IZLAZNI PODACI

Za svaku od osoba od 1 do N (redom) u zaseban redak ispišite traženi broj iz teksta zadatka.

Primjeri test podataka

Ulaz
5 6
1 2
2 3
2 4
3 4
3 5
1 5
Izlaz
4
2
0
0
0
Objašnjenje

Pojašnjenje prvog primjera: Osoba 1 (direktor) manipulira svima, dok osoba 2 manipulira osobama 3 i 4, ali ne i osobom 5 jer njoj direktor može izravno poslati poruku.

Ulaz
7 7
1 2
1 3
3 4
4 5
4 6
5 6
6 7
Izlaz
6
0
4
3
0
1
0
Objašnjenje

Pojašnjenje drugog primjera: Osoba 1 manipulira svima, osoba 3 manipulira osobama 4, 5, 6 i 7, osoba 4 manipulira osobama 5, 6 i 7, dok osoba 6 manipulira osobom 7.


Comments

There are no comments at the moment.