E. BHTML+BCSS

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

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

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

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

Энэхүү бодлого нь HTML болон CSS-тэй бага зэрэг төстэй BHTML ба BCSS гэх бодит бус хэлний тухай юм. Бага зэрэг төстэй хэдий ч бодлого илүү хялбаршуулсан аналогуудыг ашиглах тул бодлогын даалгаврыг анхааралтай уншаарай.

Танд HTML-тэй төстэй боловч илүү хялбаршуулсан BHTML докумэнт өгөгдөнө. Энэ нь нээх болон хаах тагуудын дараалал хэлбэрээр бичигдэнэ. "<tagname>" хэлбэртэй тагийг нээх таг гэх ба "</tagname>" хэлбэртэй тагийг хаах таг гэнэ. Түүнчлэн "<tagname/>" хэлбэртэй өөрийгөө хаадаг таг байдаг бөгөөд энэхүү бодлогын хувьд уг хэлбэрийн таг нь "<tagname></tagname>"-тэй ижил. Энэхүү бодлогод tagname нь $1$-ээс $10$ хүртэлх урттай, Латин жижиг үсгүүдээс бүрдсэн тэмдэгт мөр байна. Ялгаатай тагуудын tagname нь давхцаж болно.

Докумэнтийн тагууд нь зөв хаалтын дарааллыг үүсгэдэг. Өөрөөр хэлбэл бид дараах үйлдлүүдийг ашиглан өгөгдсөн докумэнтээс хоосон дарааллыг авч болно:

  • аль нэг өөрийгөө хаадаг "<tagname/>" тагийг устгах,
  • ижил нэртэй, дараалсан нээх болон хаах тагийн нэг хослолыг устгах. Өөрөөр хэлбэл "<tagname></tagname>" тэмдэгт мөрийг устгах.

Жишээлбэл, танд дараах хэлбэрийн докумэнт өгөгдөж болох юм: "<header><p><a/><b></b></p></header><footer></footer>". Харин "<a>", "<a></b>", "</a><a>" эсвэл "<a><b></a></b>" хэлбэрийн докумэнт өгөгдөхгүй.

Мэдээж нээх таг бүр нь өөртэй нь хослох хаах тагтай байх ба уг хослол бүрийг элемент гэж нэрлэнэ. Өөрийгөө хаадаг таг нь мөн адил элемент юм. Эхний элементийн таг нь $2$ дахь элементийн тагууд хооронд байрладаг нэг элемент нөгөөгийнхөө дотор үүрлэх тохиолдлыг авч үзье. Элемент өөрийнхөө дотор үүрлэхгүй. Жишээлбэл, дээр өгөгдсөн жишээнд "b" элемент нь "header" болон "p" элементүүд дотор үүрлэх ба "a" болон "footer" элементүүдэд, түүнчлэн өөрийнхөө ("b") дотор үүрлээгүй байна. "header" дотор $3$ элемент үүрлэсэн, харин "footer" дотор $0$ байна.

Бидэнд BHTML докумэнтийн элементүүдийг харуулах үед загвар өгдөг BCSS дүрэм хэрэгтэй. Дүрэм бүр нь "$x_{1}$ $x_{2}$ ... $x_{n}$" үгсийн дэд дараалал хэлбэрээр бичигдэнэ. Энэ дүрэм нь дараах жагсаалтаас хоёр нөхцөлийн хоёуланг нь хангах бүх t элементүүдэд нөлөөлнө:

  • "$x_{1}$", "$x_{2}$", ..., "$x_{n}$" tagname-тай үүрлэсэн элементүүдийн дараалал байдаг (өөрөөр хэлбэл, $2$ дахь элемент $1$ дэх дотор үүрлэсэн, $3$ дахь элемент $2$ дахь дотор үүрлэсэн гэх мэтчилэн),
  • уг дараалал t элементээр төгсдөг (жишээлбэл, t элементийн tagname нь "$x_{n}$").

Жишээлбэл, хэрэв "b" элементийн хувьд түүний үүрлэх "a" элемент оршин байдаг бол "b" элемент "a b" дүрмийн нөхцөлийг хангана. Хэрэв "a", "b", "b" гурван элемент оршдог, "a"-"b"-"b"-"c" хэлхээст дээрх элементүүд өмнөхдөө үүрлэдэг бол "c" элемент "a b b c" дүрмийн нөхцөлийг хангана.

Өгөгдсөн BHTML документ болон BCSS дүрмийн багцын хувьд дүрэм тус бүрийн нөхцөлийг хангах элементүүдийн тоог тодорхойлох програм бичээрэй.

Оролт

Эхний мөр нь BHTML-докумэнтийг агуулна. Докумэнт нь $4$-өөс $10^{6}$ хүртэл тооны тэмдэгтийн урттай. Докумэнт нь хоосон зай эсвэл ямарваа нэгэн шаардлагагүй тэмдэгтүүдийг агуулаагүй, зөв бүтэцтэй байна. Tagname нь Латин жижиг үсгүүдээс бүрдсэн, $1$-ээс $10$ хүртэл тэмдэгтийн урттай байна.

Хоёр дахь мөр нь хүсэлтийн тоог харуулах $m$ $(1≤m≤200)$ бүхэл тоог агуулна. Дараагийн $m$ мөрүүд нь тус бүрдээ хүсэлт агуулна. Хүсэлт бүр нь $x_{1}, x_{2}, ..., x_{n}$ дараалал байх ба энд $x_{i}$ нь хүсэлтийн $i$-р элемент, $n$ ($1≤n≤200$) нь асуулгад байгаа элементүүдийн тоо байна. Элементүүд нь нэг хоосон зайгаар тусгаарлагдана. Хүсэлтүүд нь хоосон зайгаар эхлэхгүй, төгсөхгүй. Хүсэлтүүдийн элемент нь $1$-ээс $10$ хүртэл урттай Латин жиижг үсгүүдийн дараалал байна.

Гаралт

$m$ ширхэг мөр хэвлэ. Энд $j$-р мөр нь $j$-р BCSS-дүрэмд харьяалагдах докумэнтийн элементийг тоог агуулна. Хэрэв тийм элемент байхгүй бол уг мөрөнд $0$ гэж хэвлээрэй.

Орчуулсан: Солонго

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

Оролт
<a><b><b></b></b></a><a><b></b><b><v/></b></a><b></b>
4
a
a b b
a b
b a
Гаралт
2
1
4
0
Оролт
<b><aa/></b><aa><b/><b/></aa>
5
aa b
b
aa
b aa
a
Гаралт
2
3
2
1
0
Сэтгэгдлүүдийг ачааллаж байна...