اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!
وبسایت مسابقههای برنامه نویسی
یافتن کوتاه ترین دور در گراف ساده
کد مساله هشت وزیر با استفاده از الگوریتم ژنتیک
مرجع فارسی برای الگوریتم های هندسی و 2sat
نظریه اعداد لازم برای المپیاد کامپیوتری ها
برای مرحله سوم، تا چه سطحی باید برنامه نویسی بلد باشیم؟
اولین جمله از دنباله ی فیبوناچی که 1000رقم داشته باشد چیست؟
چه جاجهایی برای المپیاد کامپیوتر خوب هستند؟
در این قسمت میتونی به یک پرسش پاسخ بدی. اگه میخوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخها مفید هستند حتما بهشون رای بده تا پرسشها و پاسخهای خوب مشخص بشن.
توی قسمت پیشنمایش میتونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
میتونی از تگهای معمولی و سادهی html هم استفاده کنی.
با دکمههایی که بالای ویرایشگر قرار دارند کلی کار میشه کرد. از عکسگذاشتن بگیر تا لیست شمارهدار. حتما امتحانشون کن.
برای نوشتن علائم ریاضی میتونی از Mathjax استفاده کنی.
راهنمای Mathjax رو از سایت
math.stackexchange
بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.
به نام خدا
سوال 1.
ارسطو پس از اطلاع ار خبر مفقود شدن "چو" از خود بی خود شده و می خواهد خود را از طبقه ی n ام یک ساختمان بی نهایت طبقه ای به پایین بیاندازد. نقی که از این اتفاق مطلع شده می خواهد برود و جلوی ارسطو را بگیرد.او در طبقه ی همکف(0) است. از طرفی پایش شدیدا درد می کند و نمی خواهد از پله ها برود و اگر مجبور باشد از پله برود می خواهد حتما رو به پایین حرکت کند.
یک آسانسور در این ساختمان هست که کمی عجیب غریب عمل می کند. در واقغ با هر بار زدن دکمه بالا x طبقه به سمت بالا و با زدن دکمه پایین y طبفه به سمت پایین می رود.
کوچکترین ترین طبقه i را بیابید که i>=n و نقی بتواند با تعدادی مرحله استفاده از آسانسور به طبقه ی i برسد. سپس بگویید نقی چند بار باید دکمه ی بالا و چند بار دکمه ی پایین را بزتد نا به طبقه ی i برسد.
ورودی: درخط اول دو عدد x و y قرار دارند که x,y اعدا طبیعی کوچکتر از 10^5 اند و در خز بعد عدد طبیعی n قرار دارد که n<=10^18.
خروجی: در خط اول خروجی عدد i را بنویسید و در خط بعد دو عدد a و b را بنویسید به طوری که ax-by=i.
مثال:
ورودی :
2 2
7
خروجی :
8
0 4
توجه: این سوال را می توان بدون باینری سرچ هم به راحتی حل کرد. حتی میشه گفت با باینری سرچ یه lg n الکی اون وسط میافته اما با باینری سرچ هم میشه.
این جواب من:
اول میایم n % x رو حساب میکنیم و توی k ذخیره میکنیم.
و یه متغیر p که مقدار اولیش x هستش.
حالا یه حلقه(o) میزنیم از 1 تا x و در هر بار مقدار y ضربدر o رو محاسب میکنیم و بعلاوه ی k میکنیم و مد x میگیریم و دوباره از x کم میکنیم و دوباره مد x میگیریم!!
بعد اگه این مقدار کوچکتر از p بود،این مقدار رو جایگزین p میکنیم و b مساویه o میشه.
هر جای کارم اگه p مساویه صفر شد break می کنیم.
در اخر هم a برابره با سقف n بعلاوه ی b*y تقسیم بر x.
توجه:مقدار اولیه b صفر هستش
http://paste.white-crow.ir/view/287/2y10xglBxKUfu0K
موفق باشید.