مکانی برای تکمیل جزوه های ناقصتان!

۸ مطلب با کلمه‌ی کلیدی «برنامه نویسی(الگوریتم)» ثبت شده است

آقای نبی زاده و مقسوم علیه ها

آقای نبی زاده یک ریاضی دان هستند که یک دنباله متشکل از Nعدد طبیعی در اختیار دارند.(N حتما بر 3 بخش پذیر است.)(اعداد دنباله در بازه ی 1 تا 7 هستند.) ایشان می خواهند دنباله را به دنباله های کوچکتر سه عضوی تقسیم کنند. در صورتی که سه عضو هر مجموعه را a, b, c در نظر بگیریم، پس از تقسیم دنباله به دنباله های کوچکتر در هر دنباله میان a, b, c باید شروط زیر برقرار باشد:

  • a < b < c;
  • c بر b بخش پذیر باشد، و b بر a بخش پذیر باشد.
  • بدیهی است که آقای نبی زاده می خواهند هریک از اعضای دنباله ی Nعضوی در نهایت عضو تنها یکی از دنباله های 3عضوی بشوند.

    به آقای نبی زاده کمک کنید تا دنباله های سه عضوی را از دنباله ی Nعضوی بدست آورد یا به این نتیجه برسید که این کار امکان ندارد.


    ورودی

    در خط اول ورودی N، (عددی در بازه ی 3 تا 9999) آمده است.

    در خط بعدی N عدد طبیعی (هر یک در بازه ی 1 تا 7) آمده اند.

    *تضمین می شود N بر 3 بخش پذیر است.


    خروجی

    اگر عمل گفته شده امکان داشت، در   خط دنباله ها را به ترتیب صعودی چاپ کنید.

    *اگر چند پاسخ وجود داشت، مجازید هر یک از آن ها را چاپ کنید.

    اگر این کار امکان پذیر نبود، -1 چاپ کنید.


    ورودی مثال1

    6
    1 1 1 2 2 2

    خروجی مثال1

    -1


    ورودی مثال2

    6
    2 2 1 1 4 6

    خروجی مثال2

    1 2 4
    1 2 6


    لینک جاج: http://codeforces.com/contest/342/submit

    *برای ارسال جواب این سوال باید پس از کلیک روی لینک از بخش Problem گزینه ی Xenia and Divisors  را انتخاب کرده سپس متن برنامه را در کادر کپی کرده (یا از پایین کادر فایل برنامتان را انتخاب کنید)، از قسمت Language زبان Python را انتخاب کنید و در نهایت روی Submit کلیک کنید تا پاسختان بررسی شود.

    *برای استفاده از جاج باید Register کرده باشید و هنگام سابمیت لاگین باشید.

    ۱۱ خرداد ۹۴ ، ۱۱:۰۳ ۰ نظر

    الگوریتم های معروف مرتب سازی

    الگوریتم های بدردبخور را با تصویر مرتب سازی برای تفهیمشان به علاوه ی قطعه کدهایشان در این لینک در سه زبان که شامل پایتون هم می شود در کدفورسز قرار داده ام، باشد که مفید باشد.


    ۰۸ خرداد ۹۴ ، ۲۱:۲۵ ۰ نظر

    سوال اول سوپر کوییز قبلی

    از آنجایی که نمونه سوال حل شده خواستید،شایان طلایی زحمت کشید برنامه ی سوال یک سوپرکوییز قبلی را نوشت تا در سایت قرار دهیم، باشد که مفید باشد...


    برنامه ای بنویسید که یک ماتریس دوبعدی را از فایل sample.txt بخواند و حاصل جمع زیرماتریسی از آن که دارای بیشترین حاصل جمع خانه هایش است را چاپ کند.

    *ورودی ها می توانند دارای اعداد منفی نیز باشند.


    ورودی مثال

    0 0 0 1 1 0

    1 0 0 -7 1 0

    1 0 0 0 1 -3

    4 0 0 0 0 0

    خروجی مثال

    6


    متن پاسخ

    ۰۸ خرداد ۹۴ ، ۱۹:۱۹ ۰ نظر

    مسیر خوب

    محدودیت زمانی: 5ثانیه

    محدودیت حافظه: 64مگابایت

    یک ماتریس N×N شامل اعداد صحیح نامنفی داریم. شما باید یک مسیر خوب با شروط زیر روی آن پیدا کنید:

    • ابتدای آن بالا سمت چپ ماتریس باشد.
    • انتهای آن پایین سمت راست ماتریس باشد.
    • در هر حرکت تنها یا به راست و یا به پایین حرکت کنیم.
    • اگر تمام اعداد مسیر را ضرب کنیم، حاصل دارای کمترین رقم 0 باشد.
    ورودی:
    N را به عنوان اندازه ی ماتریس در خط اول از کاربر می گیرد. (بین 2 تا 1000)
    در Nخط، Nعضو برای ماتریس خواسته شده دریافت می کند. (این عدد از 10به توان 9 تجاوز نمی کند.)

    خروجی:
    در اولین خط تعداد صفرهای حاصلضرب مسیر روی ماتریس.
    در دومین خط حرکات حاصله در مسیر خوب.

    ورودی مثال:
    3
    1 2 3
    4 5 6
    7 8 9

    خروجی مثال:
    0
    DDRR


    لینک جاج: http://codeforces.com/contest/2/submit

    *برای ارسال جواب این سوال باید پس از کلیک روی لینک از بخش Problem گزینه ی The least round way را انتخاب کرده سپس متن برنامه را در کادر کپی کرده (یا از پایین کادر فایل برنامتان را انتخاب کنید)، از قسمت Language زبان Python را انتخاب کنید و در نهایت روی Submit کلیک کنید تا پاسختان بررسی شود.

    *برای استفاده از جاج باید Register کرده باشید و هنگام سابمیت لاگین باشید.

    ۲۸ ارديبهشت ۹۴ ، ۰۲:۴۱ ۰ نظر

    معادل سازی T9

    محدودیت زمانی: 1ثانیه

    محدودیت حافظه: 1024مگابایت

    حروف الفبای لاتین 26تا هستند و تعداد دکمه های صفحه های تلفن های همراه قدیمی فقط 10تا. می خواهیم راحتتر به دوستانمان پیامک بزنیم، پس برنامه ای بنویسید که جمله یا کلمه را از کاربر بگیرد و معادل تعداد ضربات ما به یک صفحه کلید تلفن همراه را نشان دهد. دقت کنید بعضی وقت ها کاربر نیاز به مکث و سپس ادامه ی نوشتن دارد، در چنین شرایطی باید در خروجی کاراکتر فاصله یا "  " را در میان کلیدها چاپ کنید.

    برای مثال معنی “2 2” می شود “AA” در حالی که معنی “22” می شود “B”.

    *هر Space معادل یک بار فشردن 0 است.

    \includegraphics[width=0.28\textwidth ]{keypad.png}


    ورودی:

    در خط اول ورودی، T تعداد ورودی ها وارد می شوند.

    در T خط بعد عبارات وارد می شوند.


    خروجی: 

    در هر خط به فرم Case #i: Answer پاسخ ها چاپ می شوند.


    ورودی مثال:

    4
    hi
    yes
    foo  bar
    hello world

    خروجی مثال:

    Case #1: 44 444
    Case #2: 999337777
    Case #3: 333666 6660 022 2777
    Case #4: 4433555 555666096667775553


    لینک جاج: https://open.kattis.com/submit

    *برای استفاده از جاج بالا پس از انتخاب فایل از کامپیوتر خود در قسمت Problem ID گزینه ی t9spelling و در بخش Lang نیز Python 3 را انتخاب کنید و سپس می توانید با کلیک روی گزینه ی Submit نتیجه ی اجرای برنامه تان را ببینید.

    *برای استفاده از این جاج مجبورید در آن Sign up کنید.

    *در صورتی که پس از submit برنامه تان نتیجه ی اجرای برنامه New، Compiling یا... بود با کمی صبر و سپس Reloadکردن صفحه می توانید نتیجه را مشاهده فرمایید.

    ۲۸ ارديبهشت ۹۴ ، ۰۲:۱۹ ۰ نظر

    قسمت بندی رشته

    محدودیت زمانی: 1ثانیه

    محدودیت سورس برنامه: 1024کیلوبایت

    محدودیت حافظه: 256مگابایت


    رضا رشته ها را دوست دارد و از ریاضیات متنفر  است. بالعکس دوستش حسین از ریاضیات خوشش می آید و از رشته ها متنفر است.

    معلم آن ها می خواهد از آنها امتحانی بگیرد که شامل هردوی این سرفصل های درسی برنامه نویسی باشد، پس معلمشان به آن ها یک رشته می دهد، رشته ای که شامل اعداد 0 تا 9 است. سپس معلم از آن ها می پرسد که آیا می توانند رشته را به Kقسمت تقسیم کند که از مقدار ثابت Z بزرگتر نباشد. معلم از آن ها می خواهد در حالتی که جمع قسمت ها بیشترین باشد، جمع قسمت ها را چاپ کند.

    خب آنها چون نمی توانند این کار را بکنند از شما کمک خواسته اند.

    اگر جوابی برای Kقسمت، با شرط خواسته شده وجود نداشت، در خروجی -1 را چاپ کنید.


    ورودی:

    اولین خط شامل T، تعداد تست هاست. (عددی بین 1 تا 10)

    سپس در اولین خط هر ورودی دو عدد K و Z می آیند. (K عددی بین 1 تا 100 و Z عددی بین 1 تا 10 به توان 9)

    در خط دوم هر ورودی هم رشته ای می آید که حداکثر 100کاراکتر دارد.


    خروجی:

    در T خط جواب هر تست را بدهد.


    ورودی مثال:

    2
    1 6
    30901
    2 85
    07565

    خروجی مثال:

    -1
    140


    لینک جاج: https://www.hackerearth.com/tavisca-hiring-challenge-1/algorithm/string-partition/

    *برای دسترسی به ارسال پاسخ باید در سایت Hackerearth ثبت نام و حتما لاگین باشید.

    *در پایین صفحه پس از توضیح سوال ادیتور مربوطه وجود دارد از کادر سمت چپ گزینه ی آپلود فایل python 3 را انتخاب کنید و سپس به یکی از روش های آپلود فایل یا نوشتن مستقیم برنامه در ادیتور برنامه تان را submit کنید.

    ۲۵ ارديبهشت ۹۴ ، ۱۲:۳۷ ۰ نظر

    جشن شکلاتی

    رضا در حالی که Nتومان پول دارد به فروشگاه می رود. هزینه ی هر شکلات Cتومان است. پیشنهاد شگفت انگیز فروشگاه برای او این است که به ازای هر Mشکلاتی که می خرد می تواند 1شکلات رایگان بگیرد. با توجه به پیشنهاد شگفت انگیز فروشگاه او با چند شکلات به خانه بر می گردد؟

    ورودی
    در خط اول T، تعداد تست ها می آید.
    و در Tخط بعد به ترتیب N و C و M می آیند.

    خروجی
    در T خط به ازای هر تست، چاپ کنید رضا با چند شکلات به خانه بر می گردد. 

    ورودی مثال
    3 10 2 5 12 4 4 6 2 2

    خروجی مثال
    6 3 5

    *در جاج سایت "هکررنک" صرفا قسمت اصلی برنامه نوشته نشده و گرفتن ورودی تعداد تست ها و حلقه ی آن بصورت خودکار توسط جاج انجام شده است، تنها نیاز است زبان را انتخاب کنید تا متوجه منظورم بشوید.
    *برای دسترسی به ارسال پاسخ باید در سایت Login باشید.
    ۱۸ ارديبهشت ۹۴ ، ۱۸:۳۸ ۰ نظر

    مجموعه ی رشته ها

    محدودیت زمانی: 1ثانیه

    محدودیت حافظه: 1024مگابایت


    زمانی به دنباله ی Kعضوی می گوییم یک دنباله ی زیبا که وقتی محتویات آن را کنار هم می گذاریم حاصل برابر با رشته ی q شود، در حالی که اولین کاراکتر همه ی اعضای دنباله با هم متفاوت باشند. دنباله ای زیبا برای رشته ی گرفته شده پیدا کنید یا مشخصا بگویید اینچنین دنباله ای وجود ندارد.


    ورودی

    اولین خط شامل K (عددی بزرگتر مساوی 1 و کوچکتر مساوی 26) است.

    در دومین خط ورودی q رشته ای شامل حروف کوچک انگلیسی وارد می شود. (حداکثر طول آن 100 است)

    خروجی

    اگر برای ورودی های داده شده هیچ دنباله ی زیبایی وجود نداشت در یک خط چاپ کنید "NO" و در غیر اینصورت در خط اول خروجی عبارت "YES" و سپس در K خط اعضای دنباله ی زیبا را چاپ کنید.

    *اگر چند چواب وجود داشت، مجازید هریک از آن ها را چاپ کنید.


    ورودی مثال1

    1

    abca


    خروجی مثال1

    YES

    abca


    ورودی مثال2

    2

    aaacas


    خروجی مثال2

    YES

    aaa

    cas


    ورودی مثال3

    4

    abc


    خروجی مثال3

    NO


    لینک جاج: http://codeforces.com/contest/544/submit

    *برای ارسال جواب این سوال باید پس از کلیک روی لینک از بخش Problem گزینه ی A Set of String را انتخاب کرده سپس متن برنامه را در کادر کپی کرده (یا از پایین کادر فایل برنامتان را انتخاب کنید)، از قسمت Language زبان Python را انتخاب کنید و در نهایت روی Submit کلیک کنید تا پاسختان بررسی شود.

    *برای استفاده از جاج باید Register کرده باشید و هنگام سابمیت لاگین باشید.

    ۱۸ ارديبهشت ۹۴ ، ۱۴:۱۱ ۰ نظر