Enunț
Fie un şir binar (format doar din caracterele 0
şi 1
). Se numeşte subsecvenţă a şirului o succesiune de caractere situate în pe poziţii consecutive. De exemplu, 101
este o subsecvenţă a şirului 11011
. Dacă este o subsecvenţă a şirului , iar cu notăm concatenarea şirului cu el însuşi, se numeşte subsecvenţă repetată în dacă este subsecvenţă a lui . De exemplu 101
este o subsecvenţă repetată a şirului 11011011
.
Pentru un şir specificat putem determina numărul de subsecvenţe repetate distincte. De exemplu, şirul 101110110101
conţine următoarele subsecvenţe repetate distincte: 10111011, 1010, 0101, 11, 110110, 101101
.
Cerință
Dat fiind un număr natural , să se determine un şir binar de lungime care conţine un număr minim de secvenţe repetate distincte.
Date de intrare
Programul vostru nu va citi date din niciun fişier.
Date de ieșire
Pe fiecare linie a fişierului de ieșire se va afla un şir binar de lungime specificată în tabelul următor, conţinând un număr minim de subsecvenţe repetate sau valoarea (dacă nu aţi determinat o soluţie pentru valoarea corespunzătoare liniei).
Linia | N |
---|---|
1 | 7 |
2 | 18 |
3 | 65 |
4 | 206 |
5 | 739 |
6 | 1691 |
7 | 5000 |
8 | 10000 |
9 | 15137 |
10 | 20000 |
Punctaj
- Dacă şirul afişat de concurent pe linia nu este valid (nu este binar sau nu are lungimea specificată) concurentul obţine puncte pentru acel test.
- În caz contrar, programul de evaluare va determina mai întâi numărul de secvenţe repetate distincte existente în fiecare şir binar valid existent în fişierul de ieşire.
- Pentru fiecare dintre lungimile specificate se va determina numărul minim de subsecvenţe repetate pentru şirurile afişate de concurenţi.
- Să notăm cu numărul minim de subsecvenţe repetate pentru un şir de lungimea corespunzătoare liniei , minim determinat pe toate soluţiile concurenţilor.
- Să notăm cu numărul de subsecvenţe repetate din şirul afişat de concurent pentru linia .
- Punctajul obţinut de concurent pentru testul de pe linia este: . Punctajul total va fi trunchiat la o zecimală.