已AC,但想询问bool类型数组初始化的问题,初始赋值为1时一直输出0
查看原帖
已AC,但想询问bool类型数组初始化的问题,初始赋值为1时一直输出0
1380402
crymme楼主2024/7/20 16:30
#include<iostream>
using namespace std;
int w, x, h, q, a, b, c, d, e, f, ans = 0;
bool check[30][30][30] = {1};//初始赋值为1,表示方块未被切除
int main()
{
	cin >> w >> x >> h >> q;
	for (int i = 1; i <= q; i++)
	{
		cin >> a >> b >> c >> d >> e >> f;
		for (int j = a; j <= d; j++)
		{
			for (int k = b; k <= e; k++)
			{
				for (int l = c; l <= f; l++)
				{
					check[j][k][l] = 0;//切除被赋值为0的方块
				}
			}
		}
	}
	for (int i = 1; i <= w; i++)
	{
		for (int j = 1; j <= x; j++)
		{
			for (int k = 1; k <= h; k++)
			{
				if (check[i][j][k] == 1)
				{
					ans++;
				}
			}
		}
	}
	cout << ans;
	return 0;
}

但参考题解,初始赋值为0时,就能输出正确答案。
另外,使用vs2022时,出现y1重定义问题。
2024/7/20 16:30
加载中...