Movedel

Time limit: 0.04s Memory limit: 4MB Input: movedel.in Output: movedel.out

Se consideră două șiruri de caractere AA și BB, ambele șiruri având același număr de caractere.

Asupra șirurilor se aplică următorul algoritm:

  • șirul AA se permută circular cu kik_i poziții spre stânga
  • din cele două șiruri se elimină caracterele care coincid din punct de vedere al poziției și valorilor

Algoritmul se oprește când fie ambele șiruri devin vide, fie șirurile nu mai au caractere comune. Valoarea kik_i pentru fiecare pas ii reprezintă al ii-lea număr prim din mulțimea numerelor prime.

Cerinţă

Dându-se NN și MM, să se genereze șirurile AA și BB, ambele având lungimea NN, astfel încât numărul de repetări ale algoritmului aplicat celor două șiruri să fie MM.

Date de intrare

Fişierul de intrare movedel.in conţine pe prima linie valorile NN și MM.

Date de ieșire

În fişierul de ieşire movedel.out se vor scrie șirurile de caractere AA și BB de lungime NN, fiecare pe câte un rând.

Restricții și precizări

  • Șirurile trebuie să conțină doar litere mici ale alfabetului englez.
  • În cazul în care algoritmul efectuează cel puțin MM repetări pentru șirurile afișate, se va obține punctajul maxim pentru test. În caz contrar se vor obține [XM10][\frac{X}{M}\cdot10] puncte pe test, unde XX este numărul de repetări ale algoritmului (prin [XM][\frac{X}{M}] se înțelege partea întreagă a numărului XM\frac{X}{M}).
  • Se garantează că există soluție pentru datele de test:
Testul 00 11 22 33 44 55 66 77 88 99
NN 2323 2323 5050 100100 5050 100100 500500 1 0001 \ 000 1 5501 \ 550 2 0002 \ 000
MM 5050 107107 250250 160160 100100 700700 1 5001 \ 500 8 0008 \ 000 12 00012 \ 000 16 00016 \ 000

Exemplul 1

movedel.in

3 5

movedel.out

abc
cba

Explicație

Prima aplicare a algoritmului:

cab - după permutarea spre stânga cu 22 poziții (22 - primul număr prim), după eliminarea caracterelor comune, cele două șiruri vor fi:

  • ab
  • ba

A doua aplicare a algoritmului:

ba - după permutarea spre stânga cu 33 poziții (33 – al doilea număr prim), după eliminarea caracterelor comune, cele două șiruri devin vide, algoritmul încheindu-se.

Astfel se obțin [2510]=4[\frac{2}{5}\cdot10]=4 puncte pentru acest test

Exemplul 2

movedel.in

5 5

movedel.out

abcde
edabc

Explicație

Pentru șirurile găsite, algoritmul se încheie după 2020 de etape.

Astfel se obțin 1010 puncte

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