A. Perfectly Imperfect Array | #716 Div.2

LONGNEW·2021년 7월 15일
0

CP

목록 보기
39/155

https://codeforces.com/contest/1514/problem/A
시간 1초, 메모리 256MB

input :

  • t (1≤t≤100)
  • n (1≤n≤100)
  • a1 , a2, …, an (1 ≤ ai ≤ 104)

output :

  • If there's a subsequence of a whose product isn't a perfect square, print "YES". Otherwise, print "NO".
    부분배열의 값이 어떤 수의 제곱이 아닌 경우 "YES"를 그렇지 않은 경우 "NO"를 출력하시오.

조건 :

  • Given an array a of length n, tell us whether it has a non-empty subsequence such that the product of its elements is not a perfect square.
    부분 배열을 만들었을 때 이를 이루고 있는 원소들의 곱을 구했을 때 어떤 수의 제곱이 아닌 경우가 존재하는지 출력하시오.

곱셈을 했을 때 이 결과값이 어떤 수의 제곱이 될 수 있는지를 확인 해야 한다.

제곱이려면 어떻게 해야 할까. 우리가 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")

0개의 댓글