Ministerul Educaiei Naionale i Cercetrii tiinifice
Olimpiada de Informatic etapa judeean gimnaziu Clasa a V-a
12 martie 2016 Sursa: ID1.cpp, ID1.c, ID1.pas
Problema 1 colier 100 puncte
Maria are n camera sa N mrgele aezate una lng alta. Pe fiecare dintre ele este scris un numr natural format din cifre nenule distincte. Pentru fiecare mrgea, Maria terge numrul i n locul su scrie altul, avnd doar dou cifre, respectiv cifra minim i cifra maxim din numrul scris iniial, n ordinea n care aceste cifre apreau nainte de tergere. Acum Maria consider c mrgelele sunt de dou tipuri, n funcie de numrul de dou cifre scris pe ele: tipul 1 (cele care au cifra zecilor mai mic dect cifra unitilor) i tipul 2 (celelalte). Folosind mrgelele, fetia dorete ca prin eliminarea unora dintre ele (dar fr s le schimbe ordinea celorlalte) s obin un colier circular ct mai lung care s respecte proprietatea c oricare dou mrgele vecine ale sale sunt de tipuri diferite. n colierul format cu mrgelele rmase dup eliminare se consider c prima mrgea este vecin cu ultima. Cerine: 1) determinai numrul de mrgele de tipul 1; 2) determinai numrul maxim de mrgele pe care le poate avea colierul; Date de intrare Fiierul colier.in conine pe prima linie un numr natural T. Pe linia a doua se gsete un numr natural N. Pe linia a treia sunt N numere naturale ce reprezint, n ordine, valorile scrise iniial pe mrgele. Aceste numere sunt separate prin cte un spaiu. Date de ieire Dac valoarea lui T este 1, se va rezolva numai punctul 1) din cerine. n acest caz, fiierul de ieire colier.out va conine pe prima linie un numr natural reprezentnd rspunsul la cerina 1). Dac valoarea lui T este 2, se va rezolva numai punctul 2) din cerine. n acest caz, fiierul de ieire colier.out va conine pe prima linie un numr natural reprezentnd rspunsul la cerina 2). Restricii i precizri 1 N 50 000; Numerele scrise iniial pe mrgele au cifrele distincte, nu conin cifra 0 i sunt cuprinse ntre 12 i 987654321; T va fi 1 sau 2; Pentru obinerea colierului, Maria poate decide s nu elimine nicio mrgea; Colierul obinut poate fi format i dintr-o singur mrgea; Pentru teste n valoare de 20 de puncte avem T = 1 i toate numerele scrise iniial pe mrgele au dou cifre; Pentru teste n valoare de 30 de puncte avem T = 1 i dintre numerele scrise iniial pe mrgele sunt i unele cu mai mult de dou cifre; Pentru teste n valoare de 50 de puncte avem T = 2. Exemple: colier.in colier.out Explicaie 1 3 Numerele scrise de Maria pe mrgele vor fi, n ordine: 12 68 31 5 24 93. Trei dintre ele (12, 68 i 24) sunt de tipul 1. (T fiind 1 12 678 312 24 938 se rezolv doar cerina 1) colier.in colier.out Explicaie 2 4 Numerele scrise de Maria pe mrgele vor fi, n ordine: 12 68 31 5 24 93. Eliminnd mrgeaua de pe poziia 1 sau pe cea de pe 12 678 312 24 938 poziia 2 i aezndu-le pe celelalte circular obinem un colier cu 4 mrgele n care oricare dou vecine sunt de tipuri diferite. (T fiind 2 se rezolv doar cerina 2). Maria este obligat s elimine una din cele dou mrgele, altfel ar exista mrgele vecine de acelai tip. Timp maxim de execuie/test: 0.5 secunde Memorie total: 32 MB Dimensiunea maxim a sursei: 15 KB