دریا امروز آرام است. بنابراین آقای اسپارو و دوستش تصمیم گرفتهاند در هوای خوب عرشه هفت سنگ بازی کنند.
برای این امر آنها ۷ سنگ با شمارههای ۱ تا ۷ را به ترتیبی روی هم چیدهاند. سپس آقای اسپارو به یکی سنگها ضربه میزند. در اثر ضربهی آقای اسپارو، همهی سنگهایی که بالای سنگ ضربه خورده بودند روی زمین میافتند. همچنین خود سنگ مورد ضربه نیز در صورتی که از قبل روی زمین نبوده باشد روی زمین میافتد.
دوست آقای اسپارو که در ضربه زدن مهارتی ندارد، تصمیم گرفته محاسبه کند که اگر آقای اسپارو به سنگ با شمارهی ضربه بزند، چند سنگ روی زمین میافتند. به او در پیدا کردن این مقدار کمک کنید.
در خط اول ورودی، ۷ عدد به ترتیب از چپ به راست آمدهاند (چپترین عدد و راستترین عدد است) که نشاندهندهی ترتیب قرار گیری سنگها روی زمین هستند. سنگ با شمارهی پایینترین سنگ و سنگ با شمارهی بالاترین سنگ است. تضمین میشود یک جایگشت از اعداد ۱ تا ۷ است.
در خط بعدی ورودی عدد آمده است که نشان دهندهی شمارهی سنگی است که آقای اسپارو به آن ضربه زده.
در تنها خط خروجی، تعداد سنگهایی که پس از ضربهی آقای اسپارو روی زمین میافتند را چاپ کنید.
پس از ضربهی آقای اسپارو به سنگ با شمارهی ۲، سنگهای با شمارههای ۲، ۴، ۳ و ۵ روی زمین میافتند.
پس از ضربهی آقای اسپارو به سنگ با شمارهی ۶ که پایینترین سنگ است، همهی سنگها به جز خود سنگ ۶ که از قبل روی زمین بوده، روی زمین میافتند.
نکته: در صورتی که از زبان جاوااسکریپت برای حل سوال استفاده میکنید، حتما Javascript را به عنوان زبان انتخاب کرده و از تابع readline
برای خواندن ورودیها استفاده کنید. برای اطلاع بیشتر میتوانید این لینک را ببینید.
به تازگی یک بحث داغ در یک گروه بزرگ در بله شکل گرفتهاست. البته بیشتر افراد گروه فقط تماشاگر هستند و تنها ۴ شخصیت زیر که معرفی میکنیم پیام میدهند.
توجه کنید چنانچه دو نفر بخواهند با هم پیام دهند به ترتیب اولویت نوشتهشده پیام آنها ارسال میشود. به طور خاص پیام پیگیر بالاترین اولیت را دارد.
حال اعضای گروه از شما در تعدادی پرسش میخواند مشخص کنید که پیام شماره را چه کسی ارسال خواهد کرد.
در سطر اول دو عدد تعداد پرسشها و میزان پیگیری پیگیر میآید. سپس در سطر از سطر بعد عدد پرسش تماشاگران میآید.
در سطر از سطر خروجی نام کسی که پیام دادهاست را خروجی دهید. به بزرگی و کوچکی حروف توجه کنید و نامهای خروجی باید یک از ۴ حالت Peygir
, Tannaz
, Jeddy
, Morshed
باشند.
شرکت تخریبگران محیط زیست مسئول هموار کردن شهرها جهت سهولت در حمل و نقل شده. بدین منظور آنها میخواهند در همه کوههای شهر تونل حفر کنند تا شهر هموار شود. به طور دقیقتر میتوان شهر را به صورت یک جدول با میلیارد سطر و ستون نشان داد که در برخی از خانههای آن کوه واقع شده است. این شرکت به تازگی یک بولدوزر قوی خریده است. بولدوزر میتواند در یک حرکت سطری در تمام کوههای یک سطر تونل بکند، به طور مشابه در یک حرکت ستونی میتواند در تمام کوههای یک ستون تونل حفر کند. به این شرکت کمک کنید که آیا هر شهر را با دقیقا یک حرکت سطری و یک حرکت ستونی بولدوزر میتوان هموار کرد؟
در خط اول ورودی تعداد شهرهای مورد برسی میآید سپس اطلاعات شهر در خطوط بعد به ترتیب جداگانه میآید.
در خط اول اطلاعات شهر ، تعداد کوههای شهر میآید و سپس در خط از خط بعد دو عدد شماره سطر کوه و شماره ستون آن میآید. تضمین میشود کوههای یک شهر در نقاط متمایز دادهشوند.
برای هر شهر به ترتیب اگر با دقیقا یک حرکت سطری و یک حرکت ستونی هموارشدنی بود
YES
وگرنه NO
را خروجی دهید.
در شهر اول، کافی است کوههای سطر اول و ستون حفر شوند.
میتوان نشان داد که در شهر دوم عملیات مورد نیاز شرکت ممکن نیست.
در شهر سوم، شرکت میتواند کوههای سطر سوم و ستون چهارم را حفر کند.
نهایتا در شهر چهارم، تخریبگران میتوانند کوههای سطر و ستون دوم را حفر کنند تا به هدف خود برسند.
۴ دزد دریایی قصد دارند گنجهایی که اخیرا در دریا پیدا کردهاند را بین یکدیگر تقسیم کنند.
دریا به صورت جدولی در است و دزدها گنج در آن پیدا کردهاند. گنج -ام در خانهی واقع در سطر -ام و ستون -ام جدول قرار دارد.
از آنجایی که دزدها انسانهای منصفی هستند تقسیمبندی باید به گونهای صورت گیرد که دزدها سهم یکسانی از گنجها داشته باشند. برای این منظور دزدها باید یک خط افقی و یک خط عمودی از خطوط جدول انتخاب کنند و با استفاده از این خطوط جدول را به ۴ بخش تقسیم کنند. این خطوط باید به گونهای انتخاب شوند که تعداد گنجهای واقع شده در قسمتهای به وجود آمده با هم برابر باشند.
دریا اخیرا مواج بوده و دزدهای دریایی حال مساعدی ندارند. بنابراین از شما میخواهند که با گرفتن اطلاعات دریا و گنجها به آنها بگویید که چنین تقسیمبندیای وجود دارد یا خیر.
در خط اول ورودی عدد که نشاندهندهی تعداد سناریوهاست آمده است.
در خط اول هر سناریو، اعداد و که نشاندهندهی ابعاد دریا و تعداد گنجها هستند آمدهاند.
سپس در هر یک از خط بعدی سناریو، دو عدد و که نشاندهندهی مختصات قرارگیری گنج -ام هستند آمدهاند.
تضمین میشود مجموع مقادیر در همهی سناریوها حداکثر برابر است.
برای هر سناریو، در صورتی که روش معتبری برای تقسیمبندی وجود دارد عبارت YES
و در غیر این صورت عبارت NO
را چاپ کنید.
در سناریوی اول، دزدهای دریایی میتوانند دریا را با خط افقی بین سطر اول و دوم و خط عمودی بین ستون دوم و سوم تقسیم کنند. در این صورت در هر یک از قسمتهای به وجود آمده دقیقا ۱ گنج قرار خواهد گرفت.
فربد برای تنوع ذهنی مدتی است برنامهنویسی الگوریتمی را کنار گذاشته و به باغبانی روی آورده. حال فصل زمستان از راه رسیده و او میخواهد درختهای خود را هرس کند. از آنجا که تفکر الگوریتمی در تمام زندگی یار اوست او میخواهد هرس را طوری انجام دهد که آویزانی ریشه کمینه میشود. به عبارت دیگر درختهای ریشهدار او شبیه درختهای ریشهدار میمانند. یعنی میتوان آنها را با گرافی راسی، همبند و بدون دور مدل کرد و راس شماره یک را به عنوان ریشه در نظر گرفت. میزانه آویزانی یک برگ برابر ۱ است و آویزانی رئوس دیگر برابر یک بهعلاوه بیشینه آویزانی بچههای آن تعریف میشود. همانطور که گفتهشد او نمیخواهد دست به کد شود پس به او کمک کنید.
توجه کنید که او چون درخت خود را دوست دارد نمیخواهد بیشتر از بار آن را هرس کند و در هر عملیات هرس او دقیقا یک برگ درخت به همراه یال متصل به آن را حذف میکند. همچنین راسی ممکن است در ابتدا برگ نباشد و پس از تعدادی هرس به برگ تبدیل شود و نیز ریشه درخت هرس نشدنی است.
در سطر اول ورودی به عنوان تعداد درختهای فربد میآید. سپس اطلاعات درخت به شرح زیر میآید.
در سطر اول اطلاعات درخت عدد تعداد رئوس درخت و حداکثر تعداد هرسهای مجاز میآید.
سپس در سطر از سطر بعد در هر سطر دو عدد و میآید که نشاندهنده وجود یک یال بین آن دو راس است. تضمین میشود گراف ورودی درخت است.
به ازای هر درخت کمینه آویزانی ریشه پس از هرس کردن حداکثر برگ را در خطوط متفاوت خروجی دهید.
در درخت اول، فربد میتواند رأسهای با شمارههای ۲ و ۳ را هرس کند. پس از این کار تنها رأس باقیمانده رأس شمارهی ۱ خواهد بود که از آنجایی که هیچ فرزندی ندارد برگ حساب میشود و آویزانی آن برابر ۱ خواهد بود.
در درخت دوم، فربد رأس شمارهی ۶ را حذف میکند و بدینترتیب آویزانی درخت برابر ۳ خواهد شد.
نَقلی خیالی موجود است که مرحوم تورینگ فردی شکّاک و کم حافظه بود. او برای اینکه ماشین دلبندش دست نااهلان نیفتد رمزی عددی برای آن تعریف کرد. رمز عددی با ارقام کافی رمز مطمئنی بود چرا که ماشین دیگری نبود که بخواهد رمز را بشکند. از آنجا که وی نمیتوانست رمز خود را حفظ کند تصمیم گرفت رمز خود را بر روی کاغذی یادداشت کند. از آنجا که کاغذ نیز ممکن بود دست نااهلان بیفتد او رمز را به صورت یک رشته منطقی روی کاغذ نوشت. از بد ماجرا گویا وی دقیقا یک قسمت از رشته منظقی را اشتباه یادداشت کردهبود و دیگر نمیتوانست رمز خود را بازیابی کند. او همه بخشهای رشته که به آن شک داشت را در وصیتنامه خود نوشت تا بلکه کسی رمز اصلی را بازیابد. رمزهای ممکن برای ماشین تورینگ را بازیابی کنید.
توجه کنید شکهای تورینگ از دو نوع زیر هستند:
برای درک بهتر به مثالها و توضیحات آنها توجه کنید.
منظور از رشته منطقی یک رشته است که از اداتهای دودویی and, or و xor به ترتیب با نمادهای &, | و ^ به همراه اعداد صحیح نامنفی و پرانتزگذاری کامل و معتبر تشکیل شدهاست.
منظور از پرانتزگذاری کامل این است که متناظر هر ادات دقیقا یک پرانتز باز و یک پرانتز بسته وجود دارد و این باعث عدم ابهام در اولویت عملگرها میشود.
در سطر اول ورودی یا همان رشته منطقی ابتدایی تورینگ میآید.
همچنین در سطر بعد عدد تعداد شکهای تورینگ میآید.
سپس سطر ـم از سطر بعد به یکی از دو شکل 1 k o
و 2 k x
است. که در شکل اول تورینگ شک میکند که شاید ادات ـم رشته باشد که میدانیم یکی از & نماد and و | نماد or ویا ^ نماد xor است. در شکل دوم نیز تورینگ شک می کند که ـمین عدد ظاهر شده در رشته شاید بوده باشد. توجه کنید که شک وی به ادات و عددی است که وجود دارد و به چیزی که وجود ندارد شک نمیکند ولی ممکن است رشته پس از شک او با رشته اولیه یکی باشد(مانند شک اول نمونه ۲).
همچنین تضمین میشود تمام اعداد رشته ابتدایی و شک تورینگ اعداد صحیح نامنفی و حداکثر میلیارد باشند.
در سطر ـم از سطر ارزش رشته منطقی حاصل از جایگذاری شک ـم را خروجی دهید. توجه کنید شکها تاثیری بر رشته ابتدایی نمیگذارند و از هم مستقلاند.
در شک اول، رشته برابر (1&5) است که مقدار آن برابر است.
در شک دوم، رشته برابر است که مقدار آن برابر است.
در شک سوم، رشته برابر (1^5) است که مقدار آن برابر است.
در شک چهارم، رشته برابر است که مقدار آن برابر است.
در شک پنجم، رشته برابر است که مقدار آن برابر است.