D. Персе-скрипт

хугацааны хязгаарлалт 7 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

2 сайн найз Персе-скрипт гэх нэгэн шинэ программчлалын хэл зохиохыг оролдож байв.

Уг хэлний хамгийн чухал хэсэг нь тэмдэгт мөрнүүд байв. Учир нь Персе-скрипт-дэх тэмдэгт мөрүүд нь " тэмдэгтүүдийн хооронд бичигдэх юм.

Жишээлбэл "Hello" гэдэг нь тэмдэгт мөр боловч Hello гэдэг нь хувьсагчийн нэр эсвэл түлхүүр үг байх бөгөөд бид эдгээрийн талаар уг бодлогод авч хэлэлцэхгүй болно.

Персе-скрипт нь функц дээр суурилсан байв. Иймд уг хэлэнд ямар ч оператор байхгүй байх юм. Жишээлбэл 2 тоог нэмэхийн тулд та sum(a,b) гэж бичих хэрэгтэй бөгөөд a+b гэж бичиж болохгүй.

Уг хэлэнд тэмдэгт мөрүүд дээр ажиллах хэд хэдэн функцууд байна. Үүнд:

  • concat(x,y) функц нь $x$ болон $y$ гэсэн 2 тэмдэгт мөрийг авах бөгөөд $y$-ыг $x$-ын төгсгөлд байрлуулан үр дүнгийн тэмдэгт мөрийг буцаах юм. Жишээлбэл concat("Hello","World") нь "HelloWorld" гэсэн тэмдэгт мөрийг буцаана.
  • reverse(x) функц нь $x$ тэмдэгт мөрийг авах бөгөөд уг тэмдэгт мөрийг тонгоргоно. Жишээлбэл reverse("Hello") нь "olleH" гэсэн тэмдэгт мөрийг буцаана.
  • substr(x,a,b) функц нь $x$ тэмдэгт мөр болон 2 бүхэл тоо $a$ болон $b$-г авах бөгөөд ($1 ≤ a ≤ b ≤ n$, энд $n$ нь $x$-ын уртыг илэрхийлнэ) $x$ тэмдэгт мөрийн $a$ индекс болон $b$ индексийн хооронд (эдгээр өөрсдөө мөн орно) орших дэд тэмдэгт мөрийг буцаана. Жишээлбэл substr("Hello",2,4) нь "ell" гэсэн тэмдэгт мөрийг буцаана.
  • substr(x,a,b,c) функц нь өмнөх substr функцтэй төстэй боловч сүүлийн $c$ гэсэн алхмаараа ялгагдах юм. Жишээлбэл substr("HelloWorld",1,10,2) нь "Hlool" гэсэн тэмдэгт мөрийг буцаах юм. Уг substr функц нь эхлээд $a$ индекстэй тэмдэгтийг буцаах ба үүний араас $b$ индекстэй тэмдэгт хүртэлх бүх $c$-д хуваагдах индекстэй тэмдэгтүүдийг буцаана.

Та Персе-скрипт хэлний тэмдэгт мөртэй бодлого бодохоор болжээ. Өгөгдсөн тэмдэгт мөрийн илэрхийллийн хувьд үүний үр дүнг хэвлэнэ үү. Мөн илэрхийлэл дотор зөвхөн " тэмдэгтүүдээр хашигдсан тэмдэгт мөрүүд болон дээрх функцүүд өгөгдсөн байна.

Персе-скрипт дээрх үйлдлүүд нь тохиолдлоор ажиллахгүй байж болох учраас та substr функцийг дуудахдаа SUBsTr() гэж бичнэ үү. Гэхдээ та үр дүнгээ "Hello" гэж хэвлэхийн оронд "hElLo" гэж хэвлэж болохгүй

Жишээнүүдээс дэлгэрэнгүй мэдээллийг харна уу.

Оролт

Дан мөрөнд зөв илэрхийлэл өгөгдөнө. Уг илэрхийллийн нийт урт нь $10^{3}$-аас хэтрэхгүй байх бөгөөд уг илэрхийлэл доторх бүх бүхэл тоонуудын абсолют утгууд нь $100$-аас бага буюу тэнцүү байна. Мөн өгөгдсөн тэмдэгт мөр нь хоосон биш байна.

Оролтод өгөгдөх "-уудын хооронд байх бүх тэмдэгт мөрүүд нь зөвхөн Латин жижиг болон том үсгүүдээс тогтсон байна.

Гаралт

Үр дүнгийн тэмдэгт мөрийг хэвлэнэ үү. Мөн хариулт оршин байх бөгөөд хариултын урт нь $10^{4}$-өөс хэтрэхгүй байна. Түүнчлэн бодлогын хариулт нь хоосон биш тэмдэгт мөр байна.

Орчуулсан: Баатархүү

Жишээ тэстүүд

Оролт
"HelloWorld"
Гаралт
"HelloWorld"
Оролт
REVerse(substr("helloworld",1,5))
Гаралт
"olleh"
Оролт
conCAT(rEveRSE("olleh"),"world")
Гаралт
"helloworld"
Оролт
reversE(concAT(substr("hello",1,2),sUbstr("world",1,5,1)))
Гаралт
"dlroweh"
Оролт
suBstr("Noruz",1,4,2)
Гаралт
"Nr"
Сэтгэгдлүүдийг ачааллаж байна...