- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
کوئرا در راستای توسعهی محصولات خود، یک فرودگاه راهاندازی کرده است. از شما میخواهیم برنامهای بنویسید تا بتواند بخشی از دستورات برج مراقبت را انجام دهد.

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