لینکهای مفید برای شرکت در مسابقه:
کوئرا در راستای توسعهی محصولات خود، یک فرودگاه راهاندازی کرده است. از شما میخواهیم برنامهای بنویسید تا بتواند بخشی از دستورات برج مراقبت را انجام دهد.
این فرودگاه باند پرواز، برای بلند شدن (take-off
) یا فرود آمدن (landing
) هواپیماها دارد. این باند از ۱ تا شماره گذاری شدهاند.
هر هواپیما یک رشته به طول ۱۰ و یکتا از ارقام به نام <ID>
دارد که آن هواپیما را به صورت یکتا مشخص میکند.
در هر لحظه، هر هواپیما، یکی از چهار وضعیت زیر را دارد:
میدانیم در ابتدا هواپیما در فرودگاه کوئرا است (وضعیت ۱) و <ID>
همهی این هواپیما را داریم.
برای برج مراقبت این فرودگاه چندین دستور میآید که از شما میخواهیم به آنها رسیدگی کنید. هر دستور به یکی از فرمتهای زیر است.
TAKE-OFF
این دستور یعنی هواپیمای با آیدی <ID>
قصد بلندشدن از فرودگاه را دارد.
4
است پیام YOU ARE NOT HERE
را چاپ کنید.3
است پیام YOU ARE LANDING NOW
را چاپ کنید.2
است پیام YOU ARE TAKING OFF
را چاپ کنید.1
است ولی هیچ باند خالی نداریم پیام NO FREE BOUND
را چاپ کنید.2
تغییر دهید و سپس هواپیما را به اولین (کمترین شماره) باند خالی انتقال دهید تا بلند شود.LANDING
این دستور یعنی هواپیمای با آیدی <ID>
قصد نشستن در فرودگاه را دارد.
1
است پیام YOU ARE HERE
را چاپ کنید.2
است پیام YOU ARE TAKING OFF
را چاپ کنید.3
است پیام YOU ARE LANDING NOW
را چاپ کنید.4
است ولی هیچ باند خالی نداریم پیام NO FREE BOUND
را چاپ کنید.3
تغییر دهید و سپس هواپیما را به آخرین (بزرگترین شماره) باند خالی انتقال دهید تا فرود بیاید.PLANE-STATUS
این دستور وضعیت هواپیمای با آیدی <ID>
را در این لحظه درخواست میکند و شما باید شماره وضعیت این هواپیما را چاپ کنید.
BAND-STATUS
این دستور وضعیت باند <LINE>
را در این لحظه درخواست میکند و شما باید آیدی هواپیمایی که در این خط هست را چاپ کنید و اگر این باند آزاد است و هواپیمایی در آن نیست کلمه FREE
را چاپ کنید.
در سطر اول ورودی دو عدد صحیح و آمده است که به ترتیب نشاندهندهی تعداد هواپیماهای داخل فرودگاه کوئرا و تعداد باندهای فرودگاه کوئرا است.
در سطر بعدی در هر سطر یک رشته ۱۰ رقمی که نشاندهندهی آیدی هواپیماهای داخل فرودگاه است.
در سطر بعدی عدد صحیح آمده است که نشاندهندهی تعداد دستورات است.
سپس در هر کدام از سطر بعدی یکی از دستورهای توضیح داده شده در کادر میآید.
خروجی شامل حداکثر سطر است که در سطر ام خروجی متناسب با دستورها را چاپ میشود.
در ابتدا ۳ هواپیما با آیدیهای 0000000001
، 0000000002
و 0000000003
در فرودگاه کوئرا قرار دارند. ۴ باند در این فرودگاه داریم که در ابتدا هر ۴تای آنها خالی هستند.
در دستور اول هواپیمای 0000000001
قصد بلند شدن دارد. با توجه به اینکه در این لحظه در فرودگاه کوئرا است و در وضعیت ۱ قرار دارد، میتواند وارد باند ۱ شود. (اولین باند خالی است.)
در دستور دوم هواپیمای 0000000004
قصد فرود در فرودگاه کوئرا را دارد. باتوجه به اینکه این هواپیما را تاکنون ندیدهایم پس در فرودگاه کوئرا اکنون حضور ندارد و روی هوا است و میتواند در باند ۴ فرود بیاید. (آخرین باند خالی است)
در دستور سوم وضعیت هواپیمای 0000000001
پرسیده میشود. این هواپیما در وضعیت ۲ (در حال بلند شدن) قرار دارد. پس عدد ۲ چاپ میشود.
دستور چهارم وضعیت باند ۴ پرسیده میشود. در این باند هواپیمای 0000000004
قرار دارد و باید رشته 0000000004
چاپ شود.
در دستور پنجم هواپیمای 0000000002
قصد فرود آمدن در فرودگاه کوئرا را دارد ولی این هواپیما اکنون در فرودگاه کوئرا است؛ پس باید پیام YOU ARE HERE
چاپ شود.
در ابتدا ۲ هواپیما با آیدیهای 1000000000
و 0002000000
در فرودگاه کوئرا قرار دارند. ۵ باند در این فرودگاه داریم که در ابتدا هر ۵تای آنها خالی هستند.
در دستور اول هواپیمای 0002000000
قصد بلند شدن دارد. با توجه به اینکه در این لحظه در فرودگاه کوئرا است و در وضعیت ۱ قرار دارد، میتواند وارد باند ۱ شود. (اولین باند خالی است.)
در دستور دوم هواپیمای 1234567891
قصد فرود در فرودگاه کوئرا را دارد. باتوجه به اینکه این هواپیما را تاکنون ندیدهایم پس در فرودگاه کوئرا اکنون حضور ندارد و روی هوا است و میتواند در باند ۵ فرود بیاید. (آخرین باند خالی است)
در دستور سوم وضعیت هواپیمای 1234567891
پرسیده میشود. این هواپیما در وضعیت ۳ (در حال فرود آمدن) قرار دارد. پس عدد ۳ چاپ میشود.
در دستور چهارم وضعیت باند ۵ پرسیده میشود. در این باند هواپیمای 1234567891
قرار دارد و باید رشته 1234567891
چاپ شود.
در دستور پنجم هواپیمای 9876543219
قصد فرود در فرودگاه کوئرا را دارد. باتوجه به اینکه این هواپیما را تاکنون ندیدهایم پس در فرودگاه کوئرا اکنون حضور ندارد و روی هوا است و میتواند در باند ۴ فرود بیاید. (آخرین باند خالی است)
در دستور ششم هواپیمای 5555555555
قصد فرود در فرودگاه کوئرا را دارد. باتوجه به اینکه این هواپیما را تاکنون ندیدهایم پس در فرودگاه کوئرا اکنون حضور ندارد و روی هوا است و میتواند در باند ۳ فرود بیاید. (آخرین باند خالی است)
در دستور هفتم وضعیت باند ۲ پرسیده میشود. در این باند هیچ هواپیمایی وجود ندارد، پس کلمه FREE
چاپ میشود.
در دستور هشتم هواپیمای 1000000000
قصد بلند شدن دارد. با توجه به اینکه در این لحظه در فرودگاه کوئرا است و در وضعیت ۱ قرار دارد، میتواند وارد باند ۲ شود. (اولین باند خالی است.)
در دستور نهم هواپیمای 3434343434
قصد فرود در فرودگاه کوئرا را دارد. باتوجه به اینکه این هواپیما را تاکنون ندیدهایم پس در فرودگاه کوئرا اکنون حضور ندارد و روی هوا است ولی هیچ باند خالی برای فرود وجود ندارد، پس عبارت NO FREE BOUND
چاپ میشود.
در دستور دهم وضعیت هواپیمای 6666666666
پرسیده میشود. این هواپیما را تا کنون ندیدهایم پس در وضعیت ۴ قرار دارد. پس عدد ۴ چاپ میشود.