repeat

Time limit: 0.1s Memory limit: 1MB Input: Output:

Enunț

Fie ss un şir binar (format doar din caracterele 0 şi 1). Se numeşte subsecvenţă a şirului ss o succesiune de caractere situate în ss pe poziţii consecutive. De exemplu, 101 este o subsecvenţă a şirului 11011. Dacă xx este o subsecvenţă a şirului ss, iar cu xxxx notăm concatenarea şirului xx cu el însuşi, xxxx se numeşte subsecvenţă repetată în ss dacă xxxx este subsecvenţă a lui ss. De exemplu 101 este o subsecvenţă repetată a şirului 11011011.

Pentru un şir specificat ss putem determina numărul de subsecvenţe repetate distincte. De exemplu, şirul 101110110101 conţine următoarele 66 subsecvenţe repetate distincte: 10111011, 1010, 0101, 11, 110110, 101101.

Cerință

Dat fiind un număr natural NN, să se determine un şir binar de lungime NN 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 22 (dacă nu aţi determinat o soluţie pentru valoarea NN 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 ii nu este valid (nu este binar sau nu are lungimea specificată) concurentul obţine 00 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 minimin_i numărul minim de subsecvenţe repetate pentru un şir de lungimea corespunzătoare liniei ii, minim determinat pe toate soluţiile concurenţilor.
  • Să notăm cu nrinr_i numărul de subsecvenţe repetate din şirul afişat de concurent pentru linia ii.
  • Punctajul obţinut de concurent pentru testul de pe linia ii este: 10×(mininri)3\displaystyle 10 \times \left( \frac{min_i}{nr_i} \right)^3. Punctajul total va fi trunchiat la o zecimală.

Log in or sign up to be able to send submissions!