比赛 2022级数学专题练习赛1 评测结果 TTTTTTTTTT
题目名称 乘积是平方数 最终得分 0
用户昵称 HeSn 运行时间 10.000 s
代码语言 C++ 内存使用 5.74 MiB
提交时间 2022-12-12 21:35:18
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n, a[110], ans;
void dfs(int x, int s) {
	if(x == n + 1) {
		int w = sqrt(s);
		if(w * w == s) {
			ans ++;
		}
		return ;
	}
	dfs(x + 1, s);
	dfs(x + 1, s * a[x]);
}
signed main() {
	freopen("square1.in", "r", stdin);
	freopen("square1.out", "w", stdout);
	int t;
	cin >> t;
	for(int tt = 1; tt <= t; tt ++) {
		cin >> n;
		for(int i = 1; i <= n; i ++) {
			cin >> a[i];
		}
		ans = 0;
		dfs(1, 1);
		cout << ans - 1 << endl;
	}
	return 0;
}