2113 - Pagini
Nicoleta este pasionată de cifre. Fiind într-o bibliotecă, s-a întrebat dacă luând n
cărţi din bibliotecă, cu cifrele cu care sunt numerotate paginile celor n
cărţi, poate forma un număr care citit de la stânga la dreapta este identic cu cel citit de la dreapta la stânga (un palindrom)
.
Cerința[edit | edit source]
Cunoscându-se numrul n
de cărţi şi numărul p
de pagini ale fiecărei cărţi să se determine dacă cu cifrele cu care sunt numerotate paginile cărţilor se poate forma un palindrom.
Date de intrare[edit | edit source]
Fişierul de intrare pagini.in
conţine pe prima linie numărul de teste T
. Fiecare dintre următoarele T
linii conţin câte n+1
numere naturale; primul dintre acestea reprezintă numărul de cărţi n
, următoarele n
valori reprezintă numărul p
de pagini pentru fiecare carte dintre cele n
.
Date de ieșire[edit | edit source]
Fişierul de ieşire pagini.out
conţine T
linii. Pe fiecare linie se va afla mesajul DA
dacă cu cifrele cu care sunt numerotate paginile cărţilor de pe linia respectivă din fişierul de intrare se poate forma un palindrom sau mesajul NU
în caz contrar.
Restricții și precizări[edit | edit source]
1 <= T <= 3
1 ≤ n ≤ 10.000
10 ≤ p ≤ 1000
- Mesajele
DA/NU
sunt scrise cu majuscule - Numerotarea paginilor începe pentru fiecare carte de la
1
Exemplul 1:[edit | edit source]
pagini.in
3 1 19 2 19 19 1 18
pagini.out
DA DA NU
Exemplul 2:[edit | edit source]
pagini.in
1 6 11 73 243 53 33 604
pagini.out
NU
Exemplul 3:[edit | edit source]
pagini.in
2 5 199 929 325 299 325 6 11 73 243 53 33 604
pagini.out
NU NU
Încărcare soluție[edit | edit source]
Lipește codul aici[edit | edit source]
<syntaxhighlight lang="python" line="1"> with open("pagini.in", "r") as fin, open("pagini.out", "w") as fout:
T = int(fin.readline()) for t in range(1, T+1): n = int(fin.readline()) frecv = [0] * 10 for j in range(1, n+1): p = int(fin.readline()) for nr in range(1, p+1): x = nr while x: frecv[x % 10] += 1 x //= 10 impare = 0 for i in range(10): if frecv[i] % 2: impare += 1 if impare == 0 or impare == 1: fout.write("DA\n") else: fout.write("NU\n")
</syntaxhighlight>