Saturday, November 9, 2013

Бодлого С. Систем

Бодох линк: http://acm.timus.ru/problem.aspx?space=1&num=2002

Дараах гурван үйлдлийг гүйцэтгэдэг програм бич:
1. "register username password" - "username" гэсэн хэрэглэгчийг бүртгэж түүнд "password" гэсэн нууц үг олгох. Хэрэв ийм хэрэглэгч өгөгдлийн санд байвал «fail: user already exists» гэсэн мэдээлэл гаргана. Эсрэг тохиолдолд «success: new user added» гэж хэвлэнэ.
2. «login username password» - "username" хэрэглэгчийг системд «password» нууц үгээр нэвтрүүлэх. Хэрэв өгөгдлийн санд ийм хэрэглэгч байхгүй бол «fail: no such user» гэж хэвлэнэ. Эсрэг тохиолдолд, хэрэв буруу нууц үг оруулсан бол «fail: incorrect password» гэж хэвлэнэ. Эсрэг тохиолдолд, хэрэв хэрэглэгч системд өмнө нь нэвтэрчихсэн байвал «fail: already logged in» гэж хэвлэнэ. Эсрэг тохиолдолд «success: user logged in» гэж хэвлэнэ.
3. «logout username» - "username" хэрэглэгчийг системээс гаргах. Хэрэв ийм хэрэглэгч байхгүй бол «fail: no such user» гэж хэвлэнэ. Эсрэг тохиолдолд, хэрэв хэрэглэгч өмнө нь гарчихсан байвал «fail: already logged out» гэж хэвлэнэ. Эсрэг тохиолдолд «success: user logged out» гэж хэвлэнэ.

Оролт

Эхний мөрөнд үйлдлийн тоо болох n тоо өгөгдөнө(1 ≤ n ≤ 100). Дараагийн n ширхэг мөрөнд дээрх форматтай үйлдлүүд байрлана. «username» болон «password»-ын оронд 30 хүртлэх тэмдэгтийн урттай дурын хоосон биш тэмдэгт мөр байж болно. Тэмдэгт мөр нь зөвхөн 33-126 кодтой тэмдэгтүүдээс тогтоно.

Гаралт

Үйлдэл бүрийн хувьд дээрх форматаар гаралтыг хэвлэнэ. Хоосон зай болон бусад тэмдэгтүүдийг сайтар анхаарч хэвлэнэ.

Жишээ оролт

6
register vasya 12345
login vasya 1234
login vasya 12345
login anakin C-3PO
logout vasya
logout vasya

Жишээ гаралт

success: new user added
fail: incorrect password
success: user logged in
fail: no such user
success: user logged out
fail: already logged out

No comments: