Fişierul intrare/ieşire: | cmmp.in, cmmp.out | Sursă | ad-hoc |
Autor | Adăugată de | ||
Timp execuţie pe test | 0.5 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Cmmp
Pentru orice număr natural x definim operaţia „cmmp” prin care adăugăm cifre la stânga lui x, la dreapta lui x sau la ambele capete ale lui x, astfel încât numărul obţinut să fie pătrat perfect şi cât mai mic posibil.
Se dau N numere naturale s1,s2,…,sN.
Cerinţă
Să se determine pentru fiecare număr s[k], 1 ≤ k ≤ N, cel mai mic pătrat perfect care se poate obţine prin aplicarea operaţiei „cmmp”.
Date de intrare
Fişierul de intrare cmmp.in conţine pe primul rând numărul N. Pe linia a doua sunt scrise N numere naturale separate prin câte un spaţiu.
Date de ieşire
În fişierul de ieşire cmmp.out vor fi scrise, în ordinea corespunzătoare citirii şi separate prin câte un spaţiu, cele N numere obţinute din numerele date prin aplicarea operaţiei „cmmp”.
Restricţii
- 1 ≤ N ≤ 10^5
- 0 ≤ s[k] < 10^5
- Pentru 20% din teste 0 ≤ s[k] < 10^2
- Pentru 20% din teste 0 ≤ s[k] < 10^3
- Daca numarul dat este patrat perfect, atunci operatia "cmmp" il lasa neschimbat.
Exemplu
cmmp.in | cmmp.out |
---|---|
4 21 0 19 80 | 121 0 196 2809 |
Explicaţie
121 = 112, 0 = 02, 196 = 142, 2809 = 532