Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
CSMS0101 - Санах ойн удирдлага |
Соёмбо нь анхны монгол үйлдлийн систем юм. Уг үйлдлийн систем нь санах ойг “блок” гэж нэрлэгдэх хэсгүүдэд хуваана. Блокуудыг 1-ээс N хүртлэх тоонуудаар дугаарласан. Үйлдлийн систем санах ой хэрэг болсон үедээ санах ой удирдах модульд хоёр төрлийн хүсэлт гаргадаг.
Блок хуваарилах хүсэлтийг биелүүлэхийн тулд санах ой удирдах модуль нь сул байгаа блокуудаас хамгийн бага дугаартайг нь олох ёстой. Бүх хүсэлтүүдийг биелүүлэхэд шаардлагатай блокууд хангалттай их байгаа гэж үз. Эхний хүсэлт ирэх үед санах ойн бүх блокууд сул байна. Мөн блок руу хандалгүй Т минут болоход блок сулрана.
Сул биш блокуудыг хуваарилагдсан блокууд гэнэ. Үйлдлийн системийн зүгээс блок руу хандах хүсэлт ирэх үед санах ой удирдах систем хүсэлтийг биелүүлэхдээ уг блок хуваарилагдсан эсэхийг шалгана. Хэрэв тухайн блок хуваарилагдсан байвал хүсэлтийг амжилттай биелүүлсэн гэж үзэх ба блок цааш дахин Т минутын турш хуваарилагдсан хэвээр байх болно. Харин блок сул байвал хүсэлтийг биелүүлж чадаагүй гэж үзнэ.
Санах ойг удирдах дээрх алгоритмыг N=30000, T=10 минут үед хэрэгжүүл.
Input
Оролтын мөр бүрд блок хуваарилах, блок руу хандах хүсэлтийн аль нэг нь байна. Блок хуваарилах хүсэлт нь дараах хэлбэртэй байна:
<Хугацаа> +
Энд <Хугацаа> гэдэг нь 65000-аас хэтрэхгүй, сөрөг биш бүхэл тоо байна. Хугацааг секундээр өгнө. + тэмдгийн өмнө нэг хоосон зай байгаа.
Блок руу хандах хүсэлт нь дараах хэлбэртэй байна:
<Хугацаа> . <Блокийн дугаар>
<Хугацаа> гэдэг нь блок хуваарилах хүсэлт дээрхтэй адил нөхцөлтэй байна. <Блокийн дугаар> гэдэг нь 1-ээс N хүртлэх ямар нэг бүхэл тоо байна. Нийт хүсэлтийн тоо 80000-аас хэтрэхгүй. ‘.’ – ийн хоёр талд нэг нэг хоосон зай байгаа.
Output
Оролтын мөр бүрд хүсэлтийн биелэлтийн үр дүн болох харгалзах нэг мөр мэдээллийг гаргана. Блок хуваарилах хүсэлтийн үр дүн болгож хуваарилагдаж байгаа блокийн дугаарыг хэвлэнэ. Блок руу хандах хүсэлтийн үр дүн болгож дараах ганц тэмдэгтийг хэвлэнэ:
• ‘+’ – хүсэлт амжилттай биелэгдсэн үед (уг блок хуваарилагдсан байгаа үед);
• ‘-‘ – хүсэлтийг биелүүлж чадаагүй үед (өгөгдсөн дугаартай блок нь сул байгаа учраас хандаж болохгүй байгаа үед).
Хүсэлтүүд нь хугацааны өсөх эрэмбээрээ өгөгдөнө. Ижил хугацаатай хүсэлтүүдийг орж ирсэн дарааллаар нь боловсруулна.
Example
Input: 1 + 1 + 1 + 2 . 2 2 . 3 3 . 30000 601 . 1 601 . 2 602 . 3 602 + 602 + 1202 . 2 Output: 1 2 3 + + - - + - 1 3 -
Нэмсэн: | sw40 |
Огноо: | 2009-05-18 |
Хугацааны хязгаарлалт: | 0.100s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | Бүгд дараах хэлүүдээс бусад: ADA95 ASM64 BASH BF C++ 4.3.2 C99 CLPS CLOJURE D ERL FSHARP GO ICON ICK JS-RHINO LUA NEM NICE NODEJS OCAML PERL6 PIKE PRLG-swi SCALA SCM guile SCM qobi SED ST TCL WHITESPACE |
hide comments
2014-05-18 05:27:34 tsgaan
Last edit: 2014-05-18 05:28:14 |
|
2009-05-24 16:12:37 Chimed
utga? |
|
2009-05-21 06:44:54 D.Batmonkh
yamar ch utga ni longint torold bagtah uu |