ترجمه سوالات سایت های معتبر برنامه نویسی

۲۵ مطلب با موضوع «UVa Online Judge» ثبت شده است

Big Chocolate - شکلات بزرگ

 

سلام، پاییزتون مبارک!:)

 

مسئله 25 ام از سوال های UVa

در دسته سوالای آسان!

 

 

ترجمه از : امیر آذرمهر

 

10970 – Big Chocolate

 

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

 

شکلات بزرگ

 

محمد اخیرا از سوئیس بازدید کرده . از اونجایی که دوستانش رو خیلی دوست داره تصمیم گرفت که براشون شکلات بخره. ولی از اونجایی که شکلات خیلی گرونه اون می تونست فقط یک شکلات بخره. البته یه شکلات خیلی بزرگ برای همه ی اون ها به عنوان یه سوغاتی. اون می خواد به همه ی دوستانش به اندازه ی مساوی شکلات بده و اون بر این باوره که همه ی انسان ها با هم برابرن.

شکلات مستطیل شکله (یا مربع) که از تعدادی مربع های کوچیک تشکیل شده. محمد می تونه شکلات رو در راستای عمودی و افقی جدا کنه (از روی اون خط هایی که مربع ها رو از هم جدا می کنن)

و اون باید اونقدر به این کار ادامه بده که شکلات به قطعات مربعی شکل جدا نا پذیر تبدیل شوند. متاسفانه چون محمد پسر تنبلی است می خواد که کمترین تعداد برش رو استفاده کنه.

وظیفه ی شما اینه که بهش بگید حداقل با چه تعدادی می تونه شکلات رو به قطعات ریز تبدیل کنه.

 

ورودی

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

(لینک راهنما : http://acm-problems.blog.ir/1390/11/23/Input-Output)

 

خروجی

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

 

نمونه ها و لینک ها در ادامه مطلب ...

ادامه مطلب...
۰۳ مهر ۹۱ ، ۱۷:۵۸ ۴ نظر موافقین ۰ مخالفین ۰
سیّد پارسا میرطاهری

Odd Sum

 

سلام، بعد از مدت ها، مسئله 24 ام از سوال های UVa

در دسته سوالای آسان!

و البته نویسنده جدید!;)

 

ترجمه از : امیر آذرمهر

10783 - Odd Sum

 

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

 

جمع فرد

یک محدوده [A,B] داده شده و وظیفه ی شما بدست آوردن مجموع تمامی اعداد صحیح فرد در این محدوده است. برای مثال جمع تمامی اعداد صحیح فرد محدوده ی  [3,9]، 24 =  3 + 5 + 7 + 9 است .

 

ورودی

خط اول T نشان دهنده ی تعداد تست هاست (1 < T < 100) .

هر تست شامل دو عدد صحیح A وB است (0 < A < B < 100) که باید در دو خط جدا باشد.

 

خروجی

برای هر تست شما باید یک خط خروجی بدهید کلمه ی "Case" + یک فاصله + شماره ی تست + علامت ":"  و یک فاصله + جمع اعداد فرد داخل محدوده ی [A, B]

 

نمونه ها و لینک ها در ادامه مطلب ...

ادامه مطلب...
۱۵ شهریور ۹۱ ، ۲۰:۳۶ ۰ نظر موافقین ۰ مخالفین ۰
سیّد پارسا میرطاهری

11219 - How old are you؟

مسأله شماره23:

 

11219 - How old are you?

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

چند سالته؟

...

  • بفرمایید. این هم فرم ها.
  • ممنون. بذارید ببینم، چند سالتونه؟
  • 20، فراموشم کردم بنویسم؟
  • نه. این جا نوشته شما ماه دیگه به دنیا میاید. سال رو اشتباه نوشتید.
  • ... ببخشید!

می خواهیم پردازشگری خودکار داشته باشیم که با گرفتن تاریخ فعلی و تاریخ تولّد، سن فرد رو محاسبه کند و همچنین از یک سری خطا های انسانی جلوگیری کند.

 

 

ورودی

در خط اول تعداد تست ها T (1 ≤ T ≤ 200) می آید و هر یک از T خط بعد این چنین اند: تست با یک خط خالی آغاز می شود و سپس تاریخ فعلی و تاریخ تولد به ترتیب در دو خط می آیند. قالب تاریخ ها به صورت DD/MM/YYYY است. به طوری که DD روز، MM ماه و YYYY سال را نشان می دهند. همه ی تاریخ ها معتبر خواهند بود.

 

 

خروجی

خروجی از یک خط برای هر تست تشکیل شده است که هر یک چنین خواهند بود:

"Case #N: AGE" در حالی که N شماره تست است و AGE یکی از سه حالت زیر خواهد بود.

"Invalid birth date" : اگر سن غیر ممکن است.(در آینده متولد خواهد شد.)

"Check birth date" : اگر سن به دست آمده بیش از 130 است.

سن محاسبه شده به سال : در سایر موارد

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۱۸ خرداد ۹۱ ، ۰۱:۲۹ ۰ نظر موافقین ۱ مخالفین ۰
سیّد پارسا میرطاهری

374 - Big Mod

مسأله شماره22:

ترجمه از : سیّد پارسا میرطاهری

374 - Big Mod

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

باقی مانده بزرگ

در این سوال باید مقدار زیر را حساب کنید:

                                                                    displaymath25

 

همچنین باید برای مقادیر بزرگ برای  B ، P و M روش سریعی به کار ببرید. ( در این سوال با محدودیت زمانی سر و کار دارید!!!)

 

ورودی

در هر تست سه عدد صحیح B ، P و M در یک خط می آیند.  B و P ، اعداد صحیحی بین 0 و 2147483647 هستند و

M   عدد صحیحی بین 1 و 46340 است.

 

خروجی

در هر تست یک عدد صحیح که حاصل محاسبه است را چاپ کنید.

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۱۵ فروردين ۹۱ ، ۱۷:۳۲ ۱ نظر موافقین ۰ مخالفین ۰
سیّد پارسا میرطاهری

673 - Parentheses Balance

سلام!نوروز

سال نوتون خیلی مبارک باشه..

و اوّلین مسأله سال 1391 :

مسأله شماره 21:

ترجمه از : سیّد پارسا میرطاهری

673 - Parentheses Balance

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

 

تعادل کمان ها

رشته ای شامل   []و() به شما داده می­شود .این نوع رشته درست خوانده می­شود :

  1. اگر رشته ای خالی باشد
  2. اگر A و B درست هستند، AB نیز درست است
  3. اگر A درست است، (A) و [A] هم درست هستند

برنامه ای بنویسید که تعدادی از این نوع رشته را گرفته و درستی آن ها را بررسی کند. می­توانید فرض کنید که بیشترین طول رشته برابر با 128 است.

 

ورودی

ورودی شامل عدد صحیح n و دنباله ای از n رشته است. هر رشته در یک خط می­آید و از ()و [] ساخته شده است.

 

خروجی

دنباله ای از Yes و یا No که نشان دهنده درستی و یا نادرستی رشته هستند،  خروجی را شکل می­دهند.

 

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۰۷ فروردين ۹۱ ، ۰۱:۳۱ ۰ نظر موافقین ۰ مخالفین ۰
سیّد پارسا میرطاهری

10300 - Ecological Premium

مسأله شماره 20:

ترجمه از : سیّد پارسا میرطاهری

10300 - Ecological Premium

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

حق بیمه

کشاورزان آلمانی با توجه به شرایط مزرعه ی خود حق بیمه ای دریافت می کنند. فرض کنید که مساحت زمین کشاورز به مترمربع و تعداد حیوانات داخل آن را می دانید. همچنین میزان طبیعت دوستی و علاقه ی کشاورز به محیط زیست را در قالب یک عدد صحیح بزرگتر از صفر در اختیار دارید. مقدار پولی که کشاورز می­گیرد  با استفاده از این سه ویژگی چنین به دست می آید: ابتدا فضایی که هر حیوان به طور میانگین در زمین اشغال می­کند را به مترمربع حساب می­کنیم. سپس این عدد را در عدد طبیعت دوستی کشاورز ضرب می­کنیم. عدد به دست آمده، مقدار حق بیمه ایست که کشاورز به ازای هر حیوان دریافت می­کند. در نتیجه تنها کافیست عدد را در تعداد حیوانات ضرب کنیم تا مقدار کل حق بیمه دریافتی به دست آید.

 

ورودی

در خط اول ورودی عدد صحیح n (<20) به عنوان تعداد تست ها می­آید. هر تست با عدد صحیح f (0<f<20) که نشان دهنده تعداد کشاورز هاست شروع می شود. در f خط بعدی در هر یک سه عدد می آید که به ترتیب مساحت زمین، تعداد حیوانات و سپس عدد طبیعت دوستی کشاورز می آید. ورودی با پایان فایل اتمام می پذیرد و هیچ عدد صحیحی در ورودی بزرگتر از 100،000 و کوچکتر از 0 نیست.
 

خروجی

برای هر تست یک عدد که جمع حق بیمه های دریافتی کشاورزان در آن تست را نشان می­دهد را به خروجی دهید. این عدد همواره عددی صحیح است. همچنین خط اضافی در خروجی چاپ نکنید.

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۲۱ اسفند ۹۰ ، ۱۸:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
سیّد پارسا میرطاهری

344 - Roman Digititis

مسأله شماره 19:

ترجمه از : امیر کسری جلال دوست

344 - Roman Digititis

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

ارقام رومی

افراد زیادی با عدد گذاری رومی برای اعداد کوچک آشنا هستند. نماد های i ، v ، x ، l و  c نشان دهنده ی مقادیر 1، 5، 10، 50 و 100 هستند. برای نشان دهنده مقادیر دیگر، در صورت لزوم، از مقادیر کوچکتر استفاده می کنیم. مثلا عدد 3 به صورت iii” و مقدار 73 به صورت lxxiii” نشان داده می شوند. بعضی از اعداد که از این قائده مستثنا هستند عبارتند از اعدادی که از 4 و 9 و یا 40 و 90 تشکیل شده اند. نمایش عدد رومی این حالات به ترتیب (`iv"  (4) ، `ix"(9) ، `xl"(40 و(90) `xc"  است.
بنابراین برای مثال اعداد 24، 39، 44، 49، 94 را به ترتیب به صورت “xxiv ، “xxxix”، “xliv” ، “xlix” ، “xciv” نمایش می دهیم.

مقدمه ی بسیاری از کتاب ها صفحاتی دارد که با استفاده از سیستم عددگذاری رومی تنظیم شده اند که با i” شروع می شوند و به ترتیب صعودی ادامه پیدا می کنند. فرض کنید کتاب هایی 100 یا تعداد کمتری صفحه، مقدمه دارند. چه تعدادی کاراکتر i”، “v” ، “x” ، “l”و “c” لازم است تا بتوان مقدمه ی کتابی به تعداد صفحات معین را شماره گذاری کرد؟ مثلا برای 5 صفحه اعداد “i” ، “ii” ، “iii” ، “iv” و “v” استفاده می شوند. یعنی 7 کاراکتر “i” استفاده شده و 2 کاراکتر “v”.

 

ورودی و خروجی

تعدادی عدد در محدوده 1 تا 100 ورودی را تشکیل می دهند و با عدد صفر پایان می پذیرند. برای هر ورودی(به جز 0 ) تعداد کاراکتر های مورد نیاز از هر نوع برای شماره گذاری 1 تا آن عدد را محاسبه کنید و آن ها را به همراه خود عدد، در خروجی چاپ کنید. در زیر قالب صحیح خروجی را می بینید.

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۱۸ اسفند ۹۰ ، ۱۱:۲۵ ۰ نظر موافقین ۰ مخالفین ۰
سیّد پارسا میرطاهری

256 - Quirksome Squares

مسئله شماره 18:

ترجمه از: امیر کسری جلال دوست

256 - Quirksome Squares

 

مربع های حقّه باز

 

عدد 3025 یک خصوصیت مهم و قابل توجه دارد : اگر ارقام آن را طوری از هم جدا کنید به طوری که 2 رشته با طول برابر

(25 و 30) تقسیم کنید و مربع آن ها را با هم جمع کنید به همان عدد اولیه (3025) خواهید رسید:

 

 

در این مسئله شما باید تمام اعداد n رقمی که این خاصیت را دارند را بیابید.(عدد زوج n ورودی داده می شود.)

برای مثال ، اعداد چهار رقمی از 0000  شروع می شوند و به 9999  ختم می شوند. توجه داشته باشید که صفر ها هم باید محاسبه شوند، یعنی 0001  که برابر است با  2(01+00)   هم یک عدد حقه باز چهار رقمی است.

تعداد ارقام ممکن است 2، 4، 6 و یا 8 باشد ولی در عین حال حداکثر مقدار 32767 است و برنامه شما باید اعداد خروجی را در این بازه نگه دارد امّا باید به فکر سریع بودن برنامه خود باشید.

ورودی:

ورودی یک فایل متنی است که تعداد ارقام( 2 ، 4 ، 6 و یا 8 ) را هر یک در یک خط در بر میگیرد.

خروجی:

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

*نکته : دقت کنید که تعداد ارقام اعداد خروجی با عدد معادل آن در ورودی برابر است. قرار دادن صفر ها را هم فراموش نکنید.

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۲۳ بهمن ۹۰ ، ۲۱:۴۹ ۰ نظر موافقین ۱ مخالفین ۰
سیّد پارسا میرطاهری

490 - Rotating Sentences

مسئله شماره 17:

 

ترجمه از: سیّد علیرضا خوش قلب

 

490 - Rotating Sentences

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

جمله های چرخشی!

 

در جمله های چرخشی شما باید یک مجموعه از ورودی ها را 90 درجه در جهت عقربه های ساعت بچرخانید.پس باید به جای نشان دادن جملات از بالا به پایین و چپ به راست آنها را از بالا به پایین و راست به چپ نشان دهید.

 

ورودی و خروجی:

به عنوان ورودی به برنامه، شما حداکثر 100 جمله که هیچ کدام بیش از 100 حرف نیستند می گیرید.حروف قانونی : خط جدید،فاصله(اسپیس)،نشانه های سجاوندی،ارقام،حروف بزرگ و کوچک انگلیسی(تب ها قانونی نیستند)

خروجی برنامه باید آخرین جمله را به صورت عمودی در ستون سمت چپ و اولین جمله را متعاقبا در آخر و ستون سمت راست چاپ کند.

 

نمونه ها و لینک ها در ادامه مطلب...

ادامه مطلب...
۲۰ بهمن ۹۰ ، ۱۲:۵۰ ۱ نظر موافقین ۱ مخالفین ۰
سیّد پارسا میرطاهری

10450 - World Cup Noise

شانزدهمین سوال ترجمه شد:

 

نویسنده : امیر محمد فرزانه

 

10450 - World Cup Noise

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

 

سر و صدای جام جهانی!

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

ترومپت ها به وسیله گاز فشرده کار می کنند و اگر هوا به مدت 2 ثانیه متوالی وارد ترومپت شود، ترومپت می شکند. بنابراین تا وقتی ترومپت صدا می دهد، همه چیز خوب است امّا هنگام مکث ترومپت، طرفداران باید فریاد بزنند : "کره" !

قبل از مسابقه گروهی از طرفداران جمع شده و برای یک الگوی صدا برای تشویق تیمشان تصمیم گیری می کنند. الگوی صدا ترتیبی از ها و 1 هاست که در آن شماره ی 1 ، لحظه ی دمیده شدن در ترومپت و شماره ی 0 لحظه ی فریاد "کره" طرفداران را نشان می دهد. برای اطمینان از نشکستن ترومپت، الگو نباید دو 1 متوالی داشته باشد.

بنابراین در این مسئله شما باید با توجه به عدد صحیح مثبت n به عنوان ورودی ، تعداد الگو های متفاوت ممکن به طول n برای تشویق را محاسبه کنید. همچنین در نظر بگیرید که در یک دنباله به طول n هیچ دو 1 مجاوری دیده نمی شود. برای مثال،  به ازای n = 3  پاسخ برابر با 5 می شود.(دنباله های 000, 001, 010, 100, 101 صحیح هستند، در حالی که دنباله های 011 110, 111 پذیرفتنی نیستند.)

 

ورودی

خط اول ورودی شامل تعداد تست ها می شود و برای هر تست یک عدد صحیح مثبت کوچکتر از 51 در یک خط می آید.

 

خروجی

خروجی هر تست با یک خط شامل “Scenario #i:” آغاز می شود، به طوری که i نشان دهنده ی شماره ی تست است و از یک شروع می شود.سپس در یک خط تعداد دنباله های به طول n را که 1 های مجاور ندارند را در یک خط چاپ کرده و خروجی هر تست را با یک خط خالی پایان دهید.

نمونه ها و لینک ها در ادامه مطلب

ادامه مطلب...
۱۵ بهمن ۹۰ ، ۱۹:۰۰ ۰ نظر موافقین ۱ مخالفین ۰
سیّد پارسا میرطاهری