|
|
Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language
version or invalid test data, or description of the problem is not clear.
SPOJ-ын бодлогын архив (main)
4729. Хаалттай илэрхийлэл
Бодлогын дугаар: CSMS0111
|
Х нь зөв хаалттай илэрхийллүүдийн олонлог байг. Х олонлогийн элементүүд нь зөвхөн '(' ба ')' гэсэн тэмдэгтүүдээс тогтоно. Х олонлогийг дараах байдлаар тодорхойлж болно:
- Хоосон тэмдэгт мөр нь Х-ийн элемент болно
- Хэрэв А нь Х-ийн элемент бол (A) нь Х-ийн элемент байна
- Хэрэв А, В нь Х-ийн элементүүд бол тэдгээрийг залгахад үүсэх АВ нь мөн Х-ийн элемент байна
Доорх илэрхийллүүд нь зөв хаалттай илэрхийллүүд болох ба Х-д харъяалагдана:
()(())()
(()(()))
Харин доорх илэрхийллүүд нь зөв хаалттай илэрхийлэл биш ба Х-д харъяалагдахгүй:
(()))(()
())(()
Е нь зөв хаалттай илэрхийлэл байг (Е нь Х-д харъяалагдана).
Е-гийн урт гэж түүнд орсон тэмдэгтийн тоог хэлнэ.
Е-гийн гүн буюу D(E)-г дараах байдлаар тодорхойлно:
0 хэрэв Е нь хоосон тэмдэгт мөр бол
D(E)= D(A)+1 хэрэв А нь Х-д харъяалагддаг ба Е=(A) бол
max(D(A), D(B) хэрэв А, В нь Х-д харъяалагддаг ба E=AB бол
Жишээ нь “()(())()”-ийн урт нь 8, гүн нь 2 байна. Эерэг бүхэл n, d тоонууд өгөгдсөн бол n урттай, d гүнтэй зөв хаалттай илэрхийллүүдийн тоо хэд байх вэ?
Оролт
n, d тоонууд зайгаар тусгаарлагдан өгөгдөнө (2<=n<=38, 1<=d<=19).
Гаралт
n урттай, d гүнтэй зөв хаалттай илэрхийллүүдийн тоо болох нэг бүхэл тоог хэвлэнэ.
Жишээ
Оролт: 6 2
Гаралт: 3
Тайлбар: Эдгээр 3 ширхэг зөв хаалттай илэрхийллүүдийг доор жагсаав (())() ()(()) (()())
| Нэмсэн: | sw40 |
| Огноо: | 2009-08-28 |
| Хугацааны хязгаарлалт: | 0.125s
|
| Эх кодын хэмжээний хязгаарлалт: | 50000B |
| Програмчлалын хэлүүд: | Бүгд дараах хэлүүдээс бусад: C++ 4.3.2 CLOJ ERL F# GO JS PERL 6 PYTH 3.1.2 SCALA TCL TECS |
|
|
|
|