Revizia anterioară Revizia următoare
| Fișierul intrare/ieșire | url.in, url.out | Sursă | ad-hoc |
|---|---|---|---|
| Autor | Cristian Frâncu | Adăugată de |
|
| Timp de execuție pe test | 0.05 sec | Limită de memorie | 16384 KB |
| Scorul tău | N/A | Dificultate | N/A |
Vezi soluțiile trimise | Statistici
Url
Se dă o listă de N șiruri de caractere. Să se decidă care dintre acestea reprezintă URL-uri corecte. Pentru simplificare, un URL corect se consideră a avea următoarele proprietăți:
- Nu face diferența între litere mari sau mici.
- Conține până la șase componente: protocolul, numele de utilizator, parola, numele mașinii, portul și calea.
- URL-ul începe întotdeauna cu protocolul, care poate fi http sau https. El este urmat de
- Opțional, urmează informații despre utilizator sub forma $nume@
sau nume:parola@. Numele de utilizator și parola constau numai din litere sau cifre. - Urmează numele mașinii (hostname). Acesta este compus din cel puțin două etichete concatenate prin exact câte un caracter “.” (punct).
- Etichetele sunt nenule și constau numai din litere sau cifre
- Ultima etichetă este specială. Dacă ea constă numai din cifre, atunci numele mașinii este un IP numeric și trebuie să conțină exact patru etichete numerice cu valori între 0 și 255.
- Opțional, după numele mașinii urmează portul, sub forma :port. El este format numai din cifre.
- Opțional, urmează calea. Aceasta începe cu / și conține litere, cifre și caractere / în orice combinație.
Date de intrare
Fișierul de intrare url.in conține pe prima linie numărul N de șiruri de caractere. Pe următoarele N linii se află șirurile de caractere, câte unul pe linie, fără spații.
Date de ieșire
În fișierul de ieșire url.out se vor scrie, în ordine, răspunsurile pentru fiecare șir, sub forma:
- dacă URL-ul este incorect:
NU
- dacă URL-ul este corect:
DA
protocol
nume utilizator
parola
numele mașinii
portul
calea
Oricare dintre aceste linii pot fi goale, dacă URL-ul nu specifică componenta respectivă.
Restricții
- 1 ≤ M ≤ 10
- fiecare șir are maxim 1.000 de caractere.
Exemplu
| url.in | url.out |
|---|---|
| This is some text written on multiple lines. |
This is another text written on multiple lines. |
Explicație
...
Poți vedea testele pentru această problemă accesând