Editorial for Piramida
Submitting an official solution before solving the problem yourself is a bannable offence.
Analiza
Lako se zaključuje da se problem svodi na utvrđivanje da li par uzastopnih stringova mogu biti uzastopni redovi piramide. Provera da li dva stringa mogu biti uzastopni redovi se svodi na utvrđivanje broja pojavljivanja pojedinih slova engleskog alfabeta (nad kojim su stringovi napisani). Ako sa označimo broj pojavljivanja, redom, slova u stringu , a sa označimo broj pojavljivanja, redom, slova u stringu , onda stringovi i mogu biti uzastopni redovi piramide ako i samo ako važi \(None\) |n_y[A]-n_x[A]| + |n_y[B]-n_x[B]| + |n_y[C]-n_x[C]+...+|n_y[Z]-n_x[Z]| = 1. \(None\)
Smernice za algoritam
Implementacija se svodi na proveru da li parovi uzastopnih stringova mogu biti redovi piramide. A ta provera se svodi na određivanje broja pojavljivanja pojedinih slova u ta dva stringa. Prebrajanje se može izvesti jednim prolazom kroz odgovarajući string. Postupak se prekida u trenutku kada se stigne do para uzastopnih stringova koji ne mogu biti uzastopni redovi piramide ili kada se stigne do poslednjeg para stringova.
Comments