RE求助,大佬帮我看看哪有问题
查看原帖
RE求助,大佬帮我看看哪有问题
1200906
xiusiku楼主2023/11/30 23:38
#include<stdio.h>
int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	int ***dp = (int***)malloc((c + 1) * sizeof(int**));
	for (int i = 0; i <= c; i++) {
		dp[i] = (int**)malloc((a + 1) * sizeof(int*));
		for (int j = 0; j <= a; j++) {
			dp[i][j] = (int*)malloc((b + 1) * sizeof(int));
		}
	}
	for (int z = 0; z<c + 1; z++)
	{
		for (int i = 0; i<a + 1; i++)
		{
			for (int j = 0; j<b + 1; j++)
			{
				dp[z][i][j] = 1;
			}
		}
	}
	int d;
	scanf("%d", &d);
	for (int I = 0; I<d; I++)
	{
		int x1, y1, z1, x2, y2, z2;
		scanf("%d%d%d%d%d%d", &x1, &y1, &z1, &x2, &y2, &z2);
		for (int z = x1; z <= x2; z++)
		{
			for (int i = y1; i <= y2; i++)
			{
				for (int j = z1; j <= z2; j++)
				{
					dp[z][i][j] = 0;
				}
			}
		}
	}
	int sum = 0;
	for (int z = 1; z<c + 1; z++)
	{
		for (int i = 1; i<a + 1; i++)
		{
			for (int j = 1; j<b + 1; j++)
			{
				if (dp[z][i][j] == 1)
				{
					sum++;
				}
			}
		}
	}
	printf("%d", sum);
	for (int i = 0; i <= c; ++i) {
		for (int j = 0; j <= a; ++j) {
			free(dp[i][j]);
		}
		free(dp[i]);
	}
	free(dp);
	return 0;
}
2023/11/30 23:38
加载中...