Codeforces CF1514A. Perfectly Imperfect Array
原题链接
简单
作者:
SpeedStar
,
2021-04-20 04:19:36
,
所有人可见
,
阅读 379
算法
(数学) $O(tn)$
- 先对 $1 \sim 10000$ 之间的完方数打表。
- 如果数组中所有元素都是完方数输出 “NO”,否则输出 “YES”
C++ 代码
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
#define rrep(i, n) for (int i = 1; i <= (n); ++i)
using std::cin;
using std::cout;
using std::set;
using std::vector;
using vi = vector<int>;
int main() {
set<int> s;
rrep(i, 100) s.emplace(i * i);
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
vi a;
bool ok = false;
rep(i, n) {
int x; cin >> x;
ok = ok or !s.count(x);
}
cout << (ok ? "YES\n" : "NO\n");
}
return 0;
}