Oricine a realizat vreodată un site Web s-a confruntat cu problema referinţelor incorecte (legături care nu funcţionează deoarece documentul a cărui adresă este specificată nu există).
Un site Web este constituit din unul sau mai multe fişiere HTML, primul fişier fiind pagina principală, de la care se porneşte în vizitarea site-ului.
Site-ul este corect structurat dacă orice pagină a site-ului poate fi vizitată plecând de la pagina principală.
Nu vom intra în amănunte cu privire la structura documentelor HTML, deoarece din perspectiva problemei noastre interesează doar două aspecte:
1. Un document HTML începe cu o linie pe care este scrisă numai eticheta <HTML> şi se termină cu o linie pe care este scrisă numai eticheta </HTML>
2. O referinţă într-un document HTML începe cu o construcţie de tipul următor: <A HREF="nume_fişier">. Considerăm că referinţa este incorectă dacă fişierul nume_fişier nu face parte din site-ul Web.
Cerinţă
Date fiind fişierele care compun un site Web (numele fişierelor, precum şi conţinutul acestora), să se identifice numărul referinţelor incorecte, precum şi numărul de fişiere ce nu pot fi vizitate plecând de la pagina principală a site-ului.
Date de intrare
Fişierul de intrare links.in conţine pe prima linie numărul natural N, reprezentând numărul de fişiere din care este constituit site-ul.
Pe următoarele linii ale fişierului de intrare sunt descrise cele N fişiere ale site-ului. Pentru fiecare fişier al site-ului este specificat pe o linie numele fişierului, iar pe următoarele linii este descris conţinutul fişierului.
Date de ieşire
Fişierul de ieşire links.out va conţine o singură linie pe care vor fi scrise două numere naturale separate prin spaţiu R P, reprezentând numărul de referinţe incorecte, respectiv numărul de pagini ce nu pot fi vizitate plecând de la pagina principală a site-ului.
Restricţii
N≤100
Dimensiunea oricărui fişier de intrare ≤100 KB.
Nu se va face distincţie între literele mari şi literele mici (HTML este un limbaj case-insensitive).
În HTML, spaţiile inutile se ignoră.
Construcţiile <HTML>, </HTML>,<A HREF="nume_fişier"> sunt utilizate numai cu semnificaţia din enunţ.
Lungimea oricărei linii din fişierul de intrare ≤200 caractere.
Numele fişierelor sunt ≤50 caractere.
În cadrul site-ului pot apărea cel mult 200 de fişiere în referinţe.
Exemple
links.in
links.out
4
index.html
<html>
Pagina principala
<A HREF="1">
si alt link <A href="2">
</HTML>
1
<html>
Uite o poza <A HREF="abc.jpg">
</html>
2
<html>
Solutie
<a href="Sol.pas">
</html>
3
<html>
Rezultate
Clasa a IX-a <A HREF="rez9.html"> Clasa a X-a <A HREF="rez10.html">
</html>