WA #1#2
查看原帖
WA #1#2
1312537
wfirstzhang楼主2024/6/18 19:03

多处使用 malloc,很不好看。只 WA 了两个点,样例全过。

#include <iostream>
long n, l[131072], **arr;
int dfs(int, long, long);
int main() {
	using namespace std;
	long x;
	cin >> n >> x;
	arr = static_cast<long**>(malloc(sizeof(long*) * n));
	for(int i = 0; i < n; i++)
	{
		cin >> l[i];
		arr[i] = static_cast<long*>(malloc(sizeof(long) * l[i]));
		for (int j = 0; j < l[i]; j++)
			cin >> arr[i][j];
	}
	cout << dfs(0, 1, x) << endl;
	return 0;
}
int dfs(int pocket, long sum, long dst) {
	if(pocket == n)
	{
		if (sum == dst)
			return 1;
		return 0;
	}
	int ans = 0;
	for (int i = 0; i < l[pocket]; i++)
		ans += dfs(pocket + 1, sum * arr[pocket][i], dst);
	return ans;
}
2024/6/18 19:03
加载中...