باز هم عید نزدیک است و چهارشنبه سوری در پیش! اشکان فردی است علاقه مند به ترقه بازی و هر سال تعداد مناسبی از ۳ نوع ترقه a , b و c دارد. او ترقه ها را در هر ثانیه با هم منفجر میکند(البته در صورت وجود)، یا اگر ترقه ای موجود نبود دو ترقه دیگر را همزمان منفجر میکند و هر ۱۰ ثانیه یک ترقه از هر نوع منفجر میکند.
اشکان هر سال کوچه را عاصی کرده و پس از ثانیه سی ام که سومین سری از منفجر کردن را انجام داد، همسایه اش به او میگوید "اشکان نکن!". اما از آنجا که که اشکان تا تمام کردن همه ی ترقه ها دست بر نمیدارد این کار ممکن است طاقت فرسا باشد. همسایه اشکان میخواهد امسال از قبل متنی کتبی حاوی تمام اشکان نکن هایش بنویسد و از شما کمک میخواهد. پس شما با گرفتن تعداد هر نوع ترقه باید همه "اشکان نکن" ها را چاپ کنید! در صورتی که همسایه هیچ فریادی سر نمیدهد باید بگویید "اشکان کجاست پس؟!"
ورودی تنها شامل یک خط است که در آن ۳ عدد ، و با فاصله از هم آمده است.
خروجی شما باید دارای k خط باشد که نشان دهنده تعداد بار هایی است که همسایه میگوید "اشکان نکن!". در صورتی که "اشکان نکن" چاپ نمیشود، باید "اشکان کجاست پس؟!" چاپ شود. که این دو رشته خروجی باید مانند مثال ها باشند و به حروف بزرگ و کوچک توجه شود.
از آنجا که در لحظه اول ترقه a و c تمام میشوند و در لحظه دوم همه ترقه ها، همسایه نمیگوید اشکان نکن!
دانشکده ریاضی و علوم کامپیوتر هر ساله به مناسبت هفته ریاضیات جشن خیام- تورینگ برگزار میکند. امسال شورای صنفی بخش ویژهای به این جشن اضافه کرده است که شامل بازیهای جدیدیست که دانشجویان ابداع کردهاند.
سارا که دانشجوی فعال و علاقهمندیست یک بازی جالب ساخته. بازی سارا شامل تعدادی کارت است که در یک سمت کارت یک عدد یک رقمی و در سمت دیگر یک حرف کوچک انگلیسی نوشته شده است. کارتها روی میز چیده شدهاند در نتیجه شما فقط میتوانید یک سمت از کارتها را مشاهده کنید. کارتی را «کارت خفن» میگوییم که یکی از شرایط زیر را داشته باشد:
(میدانیم حروف صدا دار حروف , , , و و اعداد زوج هم 0, 2, 4, 6 و 8 هستند.)
برای مثال اگر یک کارت حاوی حرف a
روی یک طرف آن باشد و عدد 6
روی طرف دیگرش آنگاه این کارت خفن است. همچنین اگر یک کارت شامل حرف b
باشد و بر روی طرف دیگرش عدد 4
باشد و یا اگر یک کارت شامل حرف f
باشد و بر روی طرف دیگرش 5
باشد؛ از آنجایی که این حروف صدا دار نیستند پس این دو کارت نیز خفن خواهند بود.
شما میخواهید همه کارتهای سارا را چک کنید که آیا خفن هستند یا نه؛ برای این کار شما میتوانید کارتها را بچرخانید تا طرف دیگرش را هم ببینید.
در این بازی شما باید کمترین تعداد کارتهایی که لازم است چرخانده شود تا برای همهی کارتهای بازی بررسی کنید که آیا کارت خفن است یا خیر را به دست بیاورید.
دقت کنید که اگر کارتی خفن بود دیگر نیاز به برگرداندنش ندارید.
خط اول ورودی شامل عدد طبیعی است که نشان دهنده تعداد ترکیبهای ورودی خواهد بود. در خط بعدی در هر خط یک ورودی شامل یک رشته به شما داده میشود که نشان دهنده آن سمتی از کارت هاست که قابل مشاهده است. هر کاراکتر از رشته یک حرف کوچک انگلیسی یا یک عدد یک رقمی است.
خروجی برنامهی شما باید شامل خط باشد که در هر خط کمترین تعداد کارت هایی که باید چرخانده شوند را به ازای هر مجموعه کارت داده شده، چاپ کنید.
در نمونه اول شما باید هر 2 کارت را برگردانید تا مطمئن شوید که خفن هستند یا خیر! (دقت کنید که درست است حروف دو کارت یکی هستند اما میتواند عدد پشت آنها متفاوت باشد)
در نمونه دوم شما نیازی ندارید کارتی را برگردانید زیرا بدیهی است که این کارت خفن است
در این ورودی شما باید کارت دوم و چهارم را برگردانید.
شورای صنفی از دانشگاه درخواست بودجه کرده ولی دانشگاه به جای پول نقد به شورا گوسفند داده است و شورا تصمیم دارد گوسفندان را پرورش بدهد اما ابتدا باید زمین مناسبی خریداری کند.
فروشنده زمین شرطی عجیب برای آنها قرار داده! فروشنده، زمین را تنها به شکل مثلث متساوی الساقین قائم الزاویه خواهد فروخت. مکان چاه های آب مشخص است و اعضای شورا میخواهند به نحوی محدوده زمین خود را مشخص کنند که تمامی چاه های آب داخل زمین قرار بگیرند و از آنجایی که توانایی مالی بالایی ندارند قصد دارند هزینه را به حداقل برسانند و کمترین مساحت ممکن را خریداری کنند.
موقعیت چاه آب به شکل به شما داده شده. شما باید محدوده زمین را به نحوی در نظر بگیرید که دو ساق مثلث منطبق بر محورهای طول و عرض باشد و نیز تمام چاه های آب را شامل شود (چاه های آب داخل و یا روی محیط زمین قرار گیرد) و سپس گردشدهی کمترین طول برای وتر مثلث را چاپ کنید.
بدین شکل به دوستان خود کمک کرده اید تا با کمترین هزنیه تمام چاه های آب را در زمین خود قرار دهند._
خط اول شامل عدد طبیعی است. هر یک از n خط بعد شامل دو عدد و میباشد.
در تنها خط خروجی، کمترین طول برای وتر مثلث مورد نظر را به صورت یک عدد صحیح چاپ کنید.(خروجی باید گرد شده عدد اعشاری باشد.) همچنین میدانیم حتما چنین مثلثی وجود دارد.
اندازه وتر تقریبا برابر است با 4.24 که گرد شده آن میشود 4.
اندازه وتر تقریبا برابر است با 5.65 که گرد شده آن میشود 6.
امروز معلم هنر برایش کاری پیش آمده و نتوانست به کلاس بیاید، به همین دلیل معلم ریاضی سر کلاس رفت تا به بچه ها ریاضی یاد بدهد!
او یک لیستی از عدد را که ممکن است تکراری باشند را به دانش آموزان داده و قرار است دانش آموزان مقدار تابعی را بر مبنای این اعداد به دست بیاورند.
تعریف میکنیم: بزرگترین مقسوم علیه مشترک = GCD
دانش آموزان باید حاصل را محاسبه کنند.
دانش آموزان که مات و مبهوت از حضور معلم ریاضی سر کلاس هنر بودند از شما خواستند که برایشان این سوال را حل کنید.
از آنجایی که ممکن است حاصل عبارت بسیار بزرگ باشد باقی مانده آنرا بر محاسبه و چاپ کنید.
در خط اول ورودی یک عدد طبیعی داده میشود و در خط دوم عدد طبیعی که اعضای لیست هستند داده خوهد شد.
باقی مانده مقدار تابع را بر چاپ کنید.
در این ورودی میبینیم که حاصل تابع برابر 2 خواهد بود و حاصل تابع برابر 12 خواهد بود پس جواب نهایی برابر خواهد شد
کلاس ریاضی سوال پیش که تمام شد و پوریا به خانه آمد تصمیم گرفت کمی بازی کند تا شاید سختی سوال معلم را فراموش کند.
او که علاقهی زیادی به بازیهای جنگی دارد بازی خود را شروع کرد اما امروز شانس با او یار نبود و او بار دیگر به مسالهای بر خورد که حکم مرگ و زندگی را داشت. (البته برای شخصیت بازی :) )
جنگ بین شخصیت بازی که نوبهار نام داشت و غول بازی به این گونه است:
فرض کنید نوبهار جانش است و میتواند به اندازه به غول آسیب برساند.
و همچنین غول بازی جانش است و میتواند به اندازه به نوبهار آسیب بزند
بازی به این صورت اجرا میشود
بازی وقتی تمام میشود که جان یکی از آنها صفر یا کمتر از صفر بشود
اگر جان غول کمتر مساوی صفر شد نوبهار میبرد؛ در غیر این صورت غول برنده میشود.
قبل از اینکه بازی شروع شود پوریا میتواند نوبهار را با خرج حداکثر سکه تقویت کند، او میتواند یا سلاح را تقویت کند یا جان نوبهار را!
هر یک تقویت دقیقا یک سکه میخواهد و بسته به انتخاب پوریا یا میتواند قدرت سلاح خود را به اندازه افزایش دهد یا نوبهار را به اندازه افزایش دهد (دقت کنید که با یک سکه میتوان فقط قدرت یکی از جان یا سلاح را افزایش داد)
پوریا که از کلاس امروز خسته بود با دیدن این بازی و محاسباتش خستهتر هم شد، پس از شما خواست تا مثل همیشه به او کمک کنید و ببینید که آیا میتوانید غول را شکست دهید یا نه!
خط اول شامل عدد است. هر کدام از ورودی بعدی شامل سه خط است.
خط اول هر ورودی شامل دو عدد و است که به ترتیب نشان دهنده میزان جان و قدرت سلاح نوبهار است. خط دوم هر ورودی شامل دو عدد و است که به ترتیب نشان دهنده میزان جان و قدرت سلاح غول است.
خط سوم هر ورودی به ترتیب نشان دهندهی سه عدد , و است که نشان دهنده ماکسیمم تعداد سکههایی که پوریا دارد، میزان قدرت اضافه شده به سلاح نوبهار و میزان جانی که به نوبهار اضافه میشود.
برای هر ورودی چاپ کنید YES
اگر پوریا میتواند به استفاده از سکه هایش غول را ببرد، در غیر این صورت NO
چاپ کنید.
در مثال اول پوریا میتواند یک سکه بپردازد تا سلاح را تقویت کند (قدرت سلاح بعد از تقویت 5 میشود) سپس در حین بازی جان نوبهار و غول به این شکل تغییر میکند: بنابراین پوریا بازی را برنده میشود.
در مثال دوم پوریا هیچ راهی ندارد که در مقابل غول پیروز شود.
در مثال سوم پوریا سکه ای ندارد پس نمیتواند هیچ چیزی را تقویت کند اما جان و قدرت اولیه نوبهار توانایی برد غول را دارد.
در مثال چهارم پوریا 4 سکه دارد. برای اینکه در مقابل غول پیروز شود او باید 2 سکه را خرج تقویت سلاح و 2 سکه را خرج تقویت جان نوبهار کند تا برنده شود.
متاسفانه معلم ریاضی متوجه کمک شما به دانشآموزان در حل سوال «کلاس هنر» شده و مدارکی نیز در این زمینه بدست آورده!!
او این مدارک را در فایلی در کامپیوتر خود ذخیره کرده اما برای دسترسی به این فایل باید چندین رمز عبور را وارد کنید. معلم که به دست انداختن دانشآموزان علاقه ویژهای دارد به آنها گفته که اگر بتوانند رمزهای عبور را به درستی وارد کنند فایل مدارک را پاک خواهد کرد. او چندین لیست به دانشآموزان داده که تنها یکی از آنها شامل رمزهای دسترسی به فایل است. دانشآموزان بار دیگر به سراغ شما آمدند و از شما میخواهند لیستی که شامل رمزهای عبور است را پیدا کنید.
معلم هنر که خود را مسئول این اتفاق میداند دلش به حال دانشآموزان سوخته و به واسطه آشنایی قدیمی با معلم ریاضی میداند رمزهای عبور او به شکل «سه تاییهای خوشترتیب» است. «سه تایی خوشترتیب» سهتایی مرتبیست به صورت که به و به بخش پذیر است.\ به عنوان مثال سه تایی خوش ترتیب است؛ زیرا به و به بخش پذیر است. با این اطلاعات شما میتوانید از لیستهای داده شده لیستی را که شامل رمزهای عبور است پیدا کنید. به عنوان مثال فرض کنید برای دسترسی به فایل نیاز به 5 رمز عبور دارید پس باید لیستی را پیدا کنید که شامل 5 «سه تایی خوشترتیب» است.
برنامهایی بنویسید که لیستی از اعداد صحیح مثبت را به عنوان ورودی دریافت کند و تعداد «سه تاییهای خوشترتیب» را به شکلی که
به عنوان خروجی چاپ کند.
در سطر اول عدد صحیح n به عنوان اندازهی لیست به شما داده میشود که در خط بعدی عناصر لیست داده میشود که
تعداد «سه تاییهای خوشترتیب» را چاپ کنید.
بعد از اینکه پوریا بازیاش تمام شد به حیاط رفت و مطمئن بود دیگر قرار نیست امروز با مسئله ریاضی دست و پنجه نرم کند؛ اما زهی خیال باطل! وقتی وارد حیاط شد مورچه را دید که هر کدام روی یک راس از یک ضلعی منتظم قرار دارند (روی هر راس تنها یک مورچه نشسته است). هر چند وقت همه مورچهها باهم تصمیم میگیرند که به راسهای همسایه خود بروند (یک راس را همسایه گوییم اگر با یک یال به راس مذکور وصل باشد). میدانیم که مورچههای حیاط پوریا غذا گیرشان نیامده و اعصاب ندارند و اگر یکدیگر را بر روی یک راس ببینند همدیگر را آنقدر میزنند تا هر دو بمیرند! (حالتی که دو مورچه به یک راس بروند باعث دعوا میشود) پوریا که دلش نمیخواست هیچ مورچهای بمیرد برایش سوالی پیش آمد که چقدر احتمال دارد که بعد از هر حرکت همه مورچه ها زنده بمانند؟
او تا به خودش آمد دید باری دیگر مسئلهای ریاضی جلویش قرار دارد!
شما که زحمت دو سوال قبل را برای پوریا کشیدید، لطفا این سوال را هم برای او حل کنید :)
در خط اول عدد داده میشود که نشان دهنده تعداد ورودیهای هر تست نمونه است. در خط بعد یک عدد داده میشود که نشان دهنده تعداد مورچه هاست.
فرض کنید جواب مسئله برابر کسر باشد. برای هر ورودی حاصل % را چاپ کنید
دزدان این روزها به خلاقیت والایی رسیدند و روی به دزدیدن آجرهای دیوار ملت آوردند! اما از آنجا که خلاقانه کار میکنند، قبل از هر عملیات برنامه ریزیهای لازم برای برداشتن آجرها را به عمل میآورند. (آجرها به شکل ستون های متصل به هم قرار دارند.) آنها پس از انتخاب یک دیوار ابتدا که همان تعداد ستونها هست را بدست میآورند و سپس ارتفاع هر ستون () را بدست میآورند. (ارتفاع همان تعداد آجر هر ستون است.) بعد از شمارش آجرها را از بالا و به شکل مستطیلهای متصل به هم برمیدارند (یعنی هر آجر برداشته شده باید همسایه ضلعی حداقل یک آجر دیگر باشد). از آنجا که این افراد عادل و انسان دوست هستند، حتما پایین ترین آجر را باقی میگذراند تا فرآیند بازسازی دیوار برایتان آسان تر شود!
سبحان که فردی کنجکاو است از نقشه این دزدان با خبر شد و میخواهد تعداد تمام حالتهای برداشتن آجرها از روی دیوار همسایههای خود را بررسی کنید.
از آنجایی که برخی همسایه ها دیوارهای بسیار مرتفع و عریضی دارند، باقی مانده کل حالات به عدد را نمایش دهید.
خط اول شامل عدد طبیعی است.
خط دوم شامل n عدد با فاصله از هم که برابر ارتفاع ستون i-ام است.
خروجی برنامه حاصل باقی مانده تعداد کل حالات گرفتن آجرها بر عدد میباشد.
از آنجایی که دزدان منصف اند، نمیتوانند از پایین ترین سطر بردارند، پس هیچ حالتی وجود ندارد.
تمام حالات در تصویر زیر نمایش داده شده است.
شورای صنفی که از فروش گوسفندان به درآمد بسیاری رسید، تصمیم گرفت با طراحان مسابقه الگوریتم شرکت بزند. در این شرکت n کارمند به صورت هرمی و سلسله مراتبی مشغول کارند. به صورتی که هر کارمند (به جز رئیس شورا) دقیقا یک مدیر اولیه دارد. رئیس شورا مدیر همهی کارمندان است. (از طریق زنجیرهای از مدیران اولیه)
هر کارمند یک مقدار عددی رتبه دارد. رتبه رئیس شورا برابر ۱ میباشد و رتبه هر کارمند دیگر برابر رتبه مدیر اولیه او به علاوه ۱ است.
سبحان به عنوان کارمند فعال این شرکت، از جایگزینی هراس دارد و افراد زیادی هم وجود دارند که میتوانند با او جایگزین شوند. او با خودش یک عدد جایگزینی تعریف میکند. برای هر فرد a و b که مدیر او ( نه لزوما اولین مدیر ) است، عدد جایگزینی () a نسبت به b برابر است با تمام زیردستان b که رتبهشان از a بیشتر نیست. اما او از آنجا که وسواس زیادی دارد عدد ترس را هم تعریف میکنم که برای فرد a برابر است با مجموع تمام اعداد جایگزینی او نسبت به مدیرهایش. برای مثال داریم: که سیگما روی مجموعه تمام مدیران یعنی b اعمال میشود. سبحان نه تنها علاقمند به عدد ترس خودش است، بلکه از آنجا که پیش در دانستیم کنجکاو است میخواهد عدد ترس همهی کارمندان را حساب کند و از آنجا که در شرکت مشغول است و زمان زیادی ندارد، از شما میخواد برایش این اعداد را حساب کنید.
خط اول شامل تنها یک عدد طبیعی n، یعنی تعداد کارمندان است. خط دوم شامل n عدد میباشد. برای رئیس شورا ۰ بوده، و برای بقیه ها برابر است با شناسه اولین مدیر کارمند با شناسه i. مطمئنیم بین ها فقط یک عدد 0 وجود دارد و همچنین رئیس شورا مدیر همهی کارکنان (نه لزوما اولین مدیر)
خروجی برنامهی شما باید شامل یک خط باشد، که نشان دهنده عدد ترس هر کارمند به ترتیب شناسه او میباشد:
شاید فکر کنید پوریا دست از سر شما برداشته است اما اشتباه میکنید! :)
او که دیگر با شما صمیمی شده است نه تنها سوالهای خودش را به شما میدهد بلکه سوالهای دوستش زهرا را نیز به شما میدهد تا حل کنید!
او به شما اعداد , , و را میدهد به طوری که اعداد و همیشه نسبت به هم اول یا همان متباین باشند. همچنین شما عدد را نیز دارید که در ابتدا است.
شما میتوانید یکی از چهار عملیات زیر را به هر تعدادی که میخواهید انجام دهید.
این را بدانید که شرط در مراحل عملیاتی که انجام میدهید باید رعایت شود.
با توجه شرایط فوق چند مقدار مختلف برای وجود خواهد داشت؟
پوریا به زهرا قول داده که این سوال را برایش حل کند پس لطفا به او کمک کنید تا آبرویش پیش زهرا حفظ شود!
در خط اول عدد داده میشود که نشان دهنده تعداد ورودیهاست. در خط بعدی سه عدد , , و داده میشود
ترتیب ورودی هر نمونه : A B V M
برای هر ورودی تعداد مقدارهای مختلف برای را چاپ کنید.
در ورودی اول مقدارهای مختلف و ممکن برای است
زنگ تفریح بعد از کلاس هنر پوریا و هم کلاسی هایش تصمیم گرفتند بازی ای بکنند. همه دانش آموزان کلاس پشت سر هم بر روی یک صف قرار گرفتند. برای مثال دانش آموز 2 پشت 1 و 3 پشت 2 و به همین ترتیب تا آخر.
شادی یک دانش آموز ام را اینگونه تعریف میکنیم: تعداد دانش آموزانی که مقابل او قرار دارند و قدشان از او (دانش آموز ام) اکیدا بلند تر است.
خوشی یک کلاس برابر جمع کل شادی های همه دانش آموزان کلاس.
شما که دیگر از دست پوریا خسته شده اید میخواهید از او انتقام بگیرید
قرار است خوشی کلاس را کمینه کنید تا حال پوریا گرفته شود!
دقت کنید که شما میتوانید یک دانش آموز را از هر جا را انتخاب کنید و اورا به آخر صف ببرید.
در خط اول عدد داده میشود در خط بعدی برای هر خط یک عدد داده میشود که تعداد دانش آموزان است و در خط بعد یک لیستی از عدد که نشان دهنده قد هر دانش آموز است .
برابر هر ورودی نمونه، کمینه خوشی که میتوانید ایجاد کنید را چاپ کنید.