https://codeforces.com/contest/1514/problem/A
시간 1초, 메모리 256MB
input :
output :
조건 :
곱셈을 했을 때 이 결과값이 어떤 수의 제곱이 될 수 있는지를 확인 해야 한다.
제곱이려면 어떻게 해야 할까. 우리가 1개 짜리 부분배열을 만들어도 가능해야 NO를 출력할 수 있을 거다.
그렇다면 각 원소들이 어떤 수의 제곱으로 이루어진 상태에서만 NO를 출력할 수 있다.
이를 조건으로 사용해서 문제를 해결하자.
import sys
import math
t = int(sys.stdin.readline())
for _ in range(t):
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
flag = 0
for item in data:
if math.sqrt(item) != int(math.sqrt(item)):
flag = 1
break
if flag:
print("YES")
else:
print("NO")