60分C++求助
查看原帖
60分C++求助
273056
splendid_followers楼主2021/4/3 15:44

和题解里的思路大同小异,但是不能AC。我看到有的题解里面用了min和max函数,我依葫芦画瓢添上去之后就re了

#include<iostream>
using namespace std;
int c,k,g,x[20],y[20],z[20],x2[20],y2[20],z2[20];
int  main()
{
	cin>>c>>k>>g;
	int q;
	bool s[c+1][k+1][g+1]={1};
	cin>>q;
	for(int i=1;i<=q;i++)
	{
		cin>>x[i]>>y[i]>>z[i]>>x2[i]>>y2[i]>>z2[i];
	}
	for(int i=1;i<=c;i++)
	{
		for(int j=1;j<=k;j++)
		{
			for(int ij=1;ij<=g;ij++)
			{
				s[i][j][ij]=1;
			}
		}
	}
	for(int i=1;i<=q;i++)
	{
		for(int dx=x[i];dx<=x2[i];dx++)
		{
			for(int dy=y[i];dy<=y2[i];dy++)
			{
				for(int dz=z[i];dz<=z2[i];dz++)
				{
					s[dx][dy][dz]=0;
				}
			}
		}
	}
	int sum=0;
	for(int i=1;i<=c;i++)
	{
		for(int j=1;j<=k;j++)
		{
			for(int ij=1;ij<=g;ij++)
			{
				if(s[i][j][ij]==1)
				{
					sum++;
				}
			}
		}
	}
	cout<<sum;
 } 
2021/4/3 15:44
加载中...