Niske \(s\) i \(t\) se sastoje od slova i tačaka. Niska \(t\) je kraća od niske \(s\) i može se poravnati sa niskom \(s\) tako što se njen prvi karakter postavi ispod bilo kog karaktera niske \(s\) tako da se cela niska \(t\) poredi sa podniskom niske \(s\) koja počinje od tog karaktera. Na primer, niske \(s\) i \(t\) koje su jednake ab.c.b
i a.b
se mogu poravnatni na sledeće načine:
ab.c.b. ab.c.b. ab.c.b. ab.c.b. a.b. a.b. a.b. a.b.
Napisati program koji za svako moguće poravnanje niske \(s\) i \(t\) određuje broj tačaka koji im se poklapaju.
Sa standardnog ulaza se učitava niska \(s\) (dužine najviše \(10^5\) karaktera) i niska \(t\) dužine najviše \(10^4\) karaktera).
Na standardni izlaz ispisati broj poklopljenih tačaka za svako poravnavanje niske \(s\) i \(t\).
ab.c..ab..a.a.baa.a.c..a b.ac..b.
2 3 1 2 4 1 2 2 2 1 2 0 3 1 2 2 2
U prvom poravnavanju poklapaju se dve tačke.
ab.c..ab..a.a.baa.a.c..a b.ac..b.
U drugom poravnavanju poklapaju se tri tačke.
ab.c..ab..a.a.baa.a.c..a b.ac..b.
U trećem poravnavanju poklapa se jedna tačka.
ab.c..ab..a.a.baa.a.c..a b.ac..b.
Slično se broje tačke i kod ostalih poravnavanja.