بر طبق یک سری اطلاعات موثق در سازمان امنیتی $ ACM $ یک خائن وجود دارد. سلسله مراتب سازمانی به این صورت است که هر شخص یک مدیر دارد. حداقل یک مدیر بالارده هم وجود دارد که هیچ مدیری ندارد. منبع ما به صورت قطعی نمیداند که خائن کیست، ولی لیستی از افراد مظنون دارد. در نتیجه تنها چیزی که میدانیم وجود یک خائن در مجموعه و لیستی از افراد مظنون است. برای پیدا کردن کردن فرد خائن میخواهیم هر مظنون را توسط یک نفر تحت نظر بگیریم، به طوری که سه شرط زیر برقرار باشد.
اگر بخواهیم تمامی شروط بالا را در نظر بگیریم شاید نتوانیم که همهی مظنونین را تحت نظر بگیریم. شما باید برنامهای بنویسید که ساختار سازمانی و لیست مظنونین را به عنوان ورودی دریافت کند و بیشینه تعداد مظنونینی که میتوان تحت نظر قرار داد، را محاسبه کند. شکل زیر یک ساختار سازمانی را نشان میدهد که در آن دو مدیر بالارده و در کل $11$ کارمند وجود دارد. کارمندان مظنون با رنگ تیره مشخص شدهاند. یک انتساب به صورت شکل زیر است که $ 7 $ مظنون از $ 8 $مظنون تحت نظر گرفته شدهاند. فلش از سمت کارمند $ x $ به سمت کارمند $ y $ به این معنا است که کارمند $ x $، کارمند $ y $ را تحت نظر گرفته است. میتوان نشان داد که در این مثال هیچ انتسابی وجود ندارد که همهی مظنونین را پوشش دهد.
خروجی برای هر سناریو در یک خط جداگانه درج میگردد که بیشترین تعداد مظنونینی است که در یک انتساب میتوان تحت نظر گرفت.
ورودی نمونه | خروجی نمونه |
---|---|
11 8 3 4 4 0 6 8 9 11 11 11 0 3 2 8 9 6 5 7 11 2 2 0 1 1 2 0 0 | 7 1 |