سلام دوست عزیز😃👋

لینک‌های مفید برای شرکت در مسابقه

موفق باشید 😉✌

پدر‌بزرگ


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • آزمون عملی دوم فاینال سی و دومین دوره المپیاد کامپیوتر ایران

سال گذشته در روز کریسمس، کیومرث یک درخت ریشه‌دار n+1n+1 راسی با شماره‌های 00 تا nn خرید که ریشه‌ی آن راس شماره 00 و پدر راس شماره ii ام، راس با شماره pip_i است. در ابتدا درخت کیومرث به شکل یک مسیر است که درجه راس 00 در آن یک است و روی هر راس تعدادی نامنفی گوی قرار دارد.

کیومرث که از شکل درخت خود ناراضی بود، تصمیم گرفت عملیات زیر را به تعدادی دلخواه روی درختش اعمال کند:

  • کیومرث در یک عملیات می‌تواند راسی دلخواه مانند vv انتخاب کند و پدربزرگش را به عنوان پدرش قرار دهد. به عبارتی pvp_v بعد از انجام عملیات برابر با ppvp_{p_v} قبل از انجام عملیات خواهد شد. همچنین او به هر راس در زیردرخت vv یک گوی اضافه می‌کند. برای انجام عملیات لازم است vv پدربزرگ داشته باشد؛ یعنی ریشه یا فرزند ریشه نباشد.

حال پس از گذشت یکسال، کیومرث درختی در خانه‌اش پیدا کرده که پدر راس‌هایش p1,p2,,pn p_1, p_2, \cdots , p_n\ و تعداد گوی‌هایشان a1,a2,,an a_1, a_2, \cdots , a_n\ می‌باشد. اما می‌خواهد بداند که آیا این درخت همان درخت کریسمس است یا خیر. جواب سوال او تنها در صورتی مثبت است که بتوان با شروع از درختی به شکل مسیر و اعمال تعدادی عملیات بر روی آن، به همین درخت برسیم. همچنین در صورت مثبت بودن جواب، مسیری را می‌خواهد پیدا کند که اگر راس‌های آن را به‌ترتیب از ریشه تا آخر بنویسیم، لکسیکوگرافیکالی کمینه باشد.

در این سوال شما باید در QQ سناریو مختلف، به کیومرث کمک کنید. در هر سناریو باید اعداد nn و TT و p1,p2,,pn p_1, p_2, \cdots , p_n\ و a1,a2,,an a_1, a_2, \cdots , a_n\ را ورودی بگیرید، سپس تعیین کنید که آیا مسیر اولیه‌ای وجود دارد یا نه، و در نهایت اگر T=1T = 1 بود، مسیر مورد نظر را هم خروجی دهید.

ورودی🔗

در خط اول ورودی تعداد سناریو ها QQ می‌آید.

در هر سناریو در خط اول، دو عدد nn و TT به ترتیب و با فاصله از هم آمده‌اند.

در هر یک از nn خط بعدی، دو عدد طبیعی pip_i و aia_i به‌ترتیب می‌آیند.

خروجی🔗

به ازای هر سناریو اگر مسیری وجود داشت، عبارت Yes و در غیر این صورت، عبارت No را چاپ کنید. سپس اگر T=1T = 1 بود، راس‌های مسیر را به ترتیب و با فاصله از هم چاپ کنید. خروجی شما باید جایگشتی از اعداد 11 تا nn باشد و خود ریشه را شامل نمی‌شود. دقت کنید که اگر T=0T = 0 بود، شما نباید هیچ خروجی دیگری بدهید!

محدودیت‌ها🔗

1Q3000001 \leq Q \leq 300 \, 000 1n3000001 \leq n \leq 300 \, 000 T{0,1}T \in \{ 0, 1 \} 0pi<i0 \leq p_i < i 1ai1091 \leq a_i \leq 10^9

  • جمع مقادیر nn به ازای تمام سناریوها از 300000300 \, 000 بیشتر نمی‌شود.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۱۲ T=0T = 0 و pi=0p_i = 0 به ازای تمامی ii ها برقرار است.
۲ ۱۵ T=1T = 1 و pi=0p_i = 0 به ازای تمامی ii ها برقرار است.
۳ ۴۱ T=0T = 0
۴ ۳۲ T=1T = 1

مثال🔗

ورودی نمونه ۱🔗

4
1 0
0 0
4 1
0 2
0 3
0 1
0 4
4 1
0 0
1 0
2 0
2 0
4 1
0 0
1 0
2 1
2 0
Plain text

خروجی نمونه ۱🔗

Yes
Yes
1 3 2 4
No
Yes
1 2 4 3
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.