* $p.big$ = selecteaza toate tag-urile p care au clasa big
* $p .big$ = selecteaza toate tag-urile cu clasa big care se afla in interiorul unui tag p ( _atentie: intre tag si clasa exista un spatiu_ )
Pe baza formelor mentionate mai sus, un selector CSS poate lua toate combinatiile lor, putand avea orice forma. Exemplu: $div.a p.q.b i.icon.q.red x y z.x.y.z.a .a.b.c d$
Dându-se **T** teste, fiecare avand o pagina HTML valida si **Q** selectoare, sa se spuna pentru fiecare selector cate tag-uri distincte poate identifica.
Pe baza formelor mentionate mai sus, un selector CSS poate poate lua toate combinatiile lor, putand avea orice forma. Exemplu: $div.a p.q.b i.icon.q.red x y z.x.y.z.a .a.b.c d$
h2. Date de intrare
Fişierul de intrare $c3selector.in$ conţine pe prima linie numărul **T**, iar pe urmatoarele linii sunt descrise cele **T** teste. Fiecare test ocupa mai multe linii, in felul urmator:
* O linie avand valoarea **Q**
* O linie avand un sir de caractere reprezentand un HTML valid
* **Q** linii avand cate un sir de caractere reprezentant un selector CSS
Fişierul de intrare $c3selector.in$ ...
h2. Date de ieşire
În fişierul de ieşire $c3selector.out$ trebuie sa afisati mai multe linii. Pe fiecare linie se afla un singur numar, reprezentand raspunsul la cate un selector din fisierul de intrare. Raspunsurile trebuie sa apara in ordinea intrebarilor din fisierul de intrare.
În fişierul de ieşire $c3selector.out$ ...
h2. Restricţii
* $T <= 5$
* $1 <= Q <= 1000$
* HTML-ul nu poate avea mai mult de $100$ de tag-uri
* Lungimea HTML-ului nu poate avea mai mult de $10.000$ de caractere
* Lungimea unui selector CSS nu poate avea mai mult de $500$ de caractere
* Numele unui tag nu poate avea mai mult de $10$ de caractere
* Numele unei clase nu poate avea mai mult de $10$ de caractere
* HTML-ul poate contine doar: litere mici ale alfabetului englez, $<$, $>$, $/$, $=$, $"$ sau spatii
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. c3selector.in |_. c3selector.out |
| 2
4
<div class="a"><span class="q w">text</span><p class="q b"><i class="icon q red"></i></p></div>
div p.b
.a .q
div.a p.q.b i.icon.q.red
div span
10
<div class="a"><ul><li class="a"></li><li class="b"></li><li></li></ul><span class="q w">text</span><p class="q b"><i class="icon q red"></i></p></div>
div.a p.q.b i.icon.q.red
div p.b
.a .q
div span
ul li
div li
.a
.a .a
.a ul li.a
ul span.w
| 1
3
1
1
1
1
3
1
3
3
2
1
1
0
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="c3selector") ==