[BOJ 14121] Haker

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Mirko se nedavno zaposlio kao haker. Prvi zadatak koji je dobio od šefa je napisati alat koji će automatizirati otkrivanje učestalih pogrešaka na web stranici svojeg ureda.</p>

Naziv web stranice (URL) sadrži dva dijela: adresu i upit. 

 http://www.hsin.hr/stud/index.php tim=1&kategorija=pero laka&f=14 
Adresa Upit 

Adresa je niz znakova koji započinje s "http://", a ostatak se sastoji od malih i velikih slova engleske abecede, točke '.' i kose crte '/'. Adresa i upit odvojeni su upitnikom '?'. Upitnik se u nazivu web stranice pojavljuje točno jednom. Upit se sastoji od jednog ili više parametra. Svaki parametar je uređeni par imena i vrijednosti odijeljen znakom jednakosti '='. Ime parametra je uvijek niz malih slova engleske abecede. Vrijednost parametra je niz malih i velikih slova engleske abecede, znamenki i razmaka ' ' (ASCII 32). U jednom upitu može se pojaviti više parametara odvojenih znakom '&'. U jednom upitu ne smiju se pojaviti dva parametra istog imena.

Hakeri često pokušavaju promjenom vrijednosti parametara steći nedopušten pristup web stranici. Mirkov zadatak je iz zadanog niza URL-ova i učestalih zloćudnih vrijednosti parametara stvoriti novi niz URL-ova takav da je svaki poznati parametar barem jednom pozvan sa svakom zloćudnom vrijednosti. Kako bi olakšao otkrivanje greške, Mirko u jednom upitu smije koristiti najviše P parametara. Budući da svako dohvaćanje URL-a traje više sekundi, vrlo je važno da ukupan broj URL-ova bude što je moguće manji. 

입력 형식

U prvom retku nalaze se tri prirodna broja:</p>

  • N (1 ≤ N ≤ 100), broj zadanih URL-ova,
  • P (1 ≤ P ≤ 10), najveći broj parametara koje Mirko smije iskoristiti u jednom URL-u,
  • Z (1 ≤ Z ≤ 30), broj učestalih zloćudnih vrijednosti.

U sljedećih N redaka nalazi se N URL-ova. Svi URL-ovi imat će istu adresu. Svi URL-ovi će biti sintaksno ispravni prema tekstu zadatka. Svaki URL imat će najviše 250 znakova i barem jedan parametar.

U sljedećih Z redaka nalaze se učestale zloćudne vrijednosti, jedna po retku. Svaka zloćudna vrijednost će imati najviše 25 znakova. Zloćudne vrijednosti će biti ispravne vrijednosti parametara. Mogu počinjati i završavati razmakom. 

출력 형식

Potrebno je ispisati niz URL-ova takav da svaki poznati parametar budem barem jednom pozvan sa svakom zloćudnom vrijednosti. U svakom retku potrebno je ispisati jedan URL. URL smije sadržavati samo poznate parametre i zloćudne vrijednosti.</p>

Napomena: Ukoliko postoji više rješenja koja zadovoljavaju sve uvjete, ispišite bilo koje. 

예제 입력 1

1 2 2
http://www.com/a.php?a=1&b=2&c=0
X
Y

예제 출력 1

http://www.com/a.php?a=X&b=X
http://www.com/a.php?c=X&a=Y
http://www.com/a.php?b=Y&c=Y

예제 입력 2

3 1 2
http://a.com/b.xtm?a=1&b=2
http://a.com/b.xtm?a=2&c=5
http://a.com/b.xtm?b=5&c=13
OR 1 IS 1
FALSE

예제 출력 2

http://a.com/b.xtm?a=OR 1 IS 1
http://a.com/b.xtm?a=FALSE
http://a.com/b.xtm?b=OR 1 IS 1
http://a.com/b.xtm?b=FALSE
http://a.com/b.xtm?c=OR 1 IS 1
http://a.com/b.xtm?c=FALSE

Comments

There are no comments at the moment.