تبلیغات
میهن وب هاست

تمرین دیسک ها

نویسنده : امیر

نظرات : ۰ دیدگاه

بازدید : ۳۳۳ بازدید

تاریخ : ۱۷ فروردین ۱۳۹۶

یکی از فعالیت های ما ارائه و حل تمرین های برنامه نویسی می باشد. در این نوشته قصد حل تمرینی با عنوان “دیسک ها” را با زبان برنامه نویسی جاوا داریم. با ما همراه باشید.

 

تمرین دیسک‌ ها

تعداد n دیسک با اندازه‌های برابر و شماره‌های ۱ تا n داریم. این n دیسک ابتدا هر کدام در یک پایه قرار گرفته‌اند و n برج با ارتفاع یک ساخته‌اند. دو مدل query زیر را داریم:

دستور Merge : این دستور دو ورودی را دریافت می کند؛ برجی که شامل دیسک x است را از پایه‌ی خود خارج کرده و به همان ترتیب به روی پایه‌ای که شامل دیسک y است اضافه می‌کنیم.

 

دستور Height : این دستور یک ورودی را دریافت می کند؛ این که دیسک x در برجی که شامل آن است در چه طبقه ای قرار گرفته را چاپ می‌‌کند.

 

ورودی برنامه

در خط اول ورودی عدد m می‌آید که تعداد query هایی که در ادامه می‌آیند را مشخص می‌کند. در m خط بعدی درهر کدام یک query از دو نوع بالا داده می‌شود.

 

خروجی برنامه :

به ازای هر دستور از نوع Height طبقه‌ی دیسک موردنظر را در یک سطر چاپ کنید.

 

محدودیت‌ها :

این محدودیت ها باید جز بخش های کنترلی برنامه باشد.

n ≤ ۳۰۰۰۰

m ≤۱۰۰۰۰۰

مثال :

ورودی نمونه :

خروجی نمونه :

 

حل سوال :

کلاس File :

این کلاس وظیفه دریافت اطلاعات ورودی و انتقال نتایج به خروجی را دارد.

 

کلاس Disk :

این کلاس وظیفه ی اجرای دستوراتی را دارد که از طریق کلاس File به آن رسیده است. روال کلی برنامه، شروط، منطق و دستورات اصلی برنامه در این کلاس قرار دارند.

 

کلاس Main :

این کلاس اولین کلاس اجرایی توسط مفسر جاوا است که این کلاس وظیفه ی واسط بین کلاس File و Disk را دارد.

 

در صورت وجود هر سوالی از بخش نظرات امکان پرسش سوال خود را دارید.

منبع سوال سایت quera.ir می باشد ولی این مسئله به صورت اختصاصی توسط camelcase.ir حل شده است.

برای پیشنهاد حل مسئله توسط ما می توانید از بخش نظرات آدرس سوال یا متن سوال را فرستاده و در صورت امکان به آن سوال پاسخگویی خواهد شد.

در صورتی که علاقه به مشارکت دارید می توانید این مسئله را با زبان های دیگر برنامه نویسی حل کرده و برای ما ارسال کنید تا با نام شما برای دیگران به اشتراک بگذاریم.

با دوستانتان به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code

مطالب زیر را از دست ندهید: