Feladat: I/S.38 Korcsoport: - Nehézségi fok: -
Füzet: 2019/október, 423 - 424. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Számítástudomány

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Egy munkahelyen N ember dolgozik, akiket 0-tól (N-1)-ig sorszámokkal azonosítunk. Mindenkinek pontosan egy közvetlen főnöke van, kivéve a 0. sorszámú embert, a cégvezetőt. Minden emberre teljesül, hogy ha vesszük a közvetlen főnökét, majd annak a közvetlen főnökét és így tovább, amíg lehet, akkor végül a cégvezetőhöz jutunk. Egy A sorszámú embernek beosztottja minden olyan ember, ahonnan az előbbi módon, a közvetlen főnökökön végighaladva egy idő után az A sorszámú emberhez jutunk. Egy A sorszámú ember tudja kezelni egy B sorszámú beosztottját, ha a cégnél töltött éveik számának különbsége legfeljebb K. Egy A sorszámú ember jó főnök, ha minden beosztottját tudja kezelni (ha valakinek nincs beosztottja, akkor jó főnök). Készítsünk programot, amely megadja a jó főnökök számát.
Standard bemenet: az első sor tartalmazza N-et és K-t. A következő sor N-1 darab számot tartalmaz, az i-edik szám az i-edik sorszámú ember közvetlen főnökének sorszámát. A következő sor N darab számot tartalmaz, az i-edik szám az (i-1)-edik sorszámú ember cégnél töltött éveinek számát.
Standard kimenet: a jó főnökök száma.
Korlátok: 3N105, 0K109, 1a cégnél eltölött évek száma109. Időkorlát: 0,3 mp.
Értékelés: a pontok 50%-a kapható, ha N1000.
Példa:

 
Bemenet  (a /  jel a sortörést helyettesíti)Kimenet   7 3   4   2 0 2 0 4 4   6 1 5 7 10 7 8   
 

Beküldendő egy is38.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható.