Cerință
Cu ocazia Anului Nou Celtic, care marchează de altfel și cel mai important sabat din calendarul vrăjitoarelor, Ionuț a decis să participe la Festivalul Mistic al Invocațiilor, un eveniment în care vrăjitoare de pe tot globul se adună pentru a-și etala cele mai puternice și interesante invocații. Fascinat de toată magia pe care o vedea în jurul lui, Ionuț a decis că vrea să încerce și el să facă o invocație totuși, neavând puteri magice, invocația lui Ionuț trebuie să respecte niște condiții stricte: ea trebuie să fie un string de lungime , format doar din primele litere mici ale alfabetului latin, iar mai mult de atât, numărul de subsecvențe palindromice ale invocației trebuie să fie minim.
O subsecvență a șirului este definită prin doi indici și () și este formată din elementele contigue . O subsecvență este palindromică dacă se citește la fel de la stânga la dreapta și de la dreapta la stânga.
Date de intrare
Pe prima linie se găsesc numerele și .
Date de ieșire
Pe prima linie se găsește un string de lungime , format doar din primele litere mici ale alfabetului latin, care reprezintă invocația pe care Ionuț o va face.
Restricții și precizări
- ,
- Pentru teste în valoare de puncte,
- Pentru teste în valoare de puncte, și
- Pentru teste în valoare de puncte, și
- Pentru teste în valoare de puncte,
- Pentru teste în valoare de puncte,
- Dacă există mai multe variante corecte de răspuns, se poate afișa oricare dintre ele.
Exemplul 1
stdin
3 2
stdout
aba
Explicație
Avem la dispoziție literele a și b (). Orice literă individuală este, prin definiție, un palindrom de lungime . Deci, pentru un șir de lungime , vom avea din start cel puțin subsecvențe palindromice. Scopul este să minimizăm apariția palindroamelor de lungime mai mare.
În șirul aba, subsecvențele palindromice sunt: a (prima poziție), b, a (a treia poziție) și aba. În total subsecvențe palindromice.
Orice alt șir am forma (de ex. aab are palindroamele a, a, b, aa), vom obține mereu cel puțin subsecvențe palindromice. Astfel, aba atinge numărul minim posibil și este un răspuns corect (la fel cum ar fi fost și aab, bba sau bab).
Exemplul 2
stdin
6 4
stdout
cdabdc
Explicație
Deoarece avem la dispoziție litere (), putem construi un șir în care nu există nicio subsecvență palindromică de lungime mai mare sau egală cu .
Astfel, singurele subsecvențe palindromice din cdabdc vor fi exact literele individuale: c, d, a, b, d, c.
Totalul este de subsecvențe palindromice, care coincide cu lungimea șirului și este minimul absolut teoretic posibil pentru . Orice alt șir valid care obține acest număr minim (ex: abcdab) ar fi fost considerat corect.