工艺品制作思路和答案
当前代码:
#include <iostream>
using namespace std;
int cube[21][21][21];
int main(){
int w, x ,h;
cin >> w >> x >> h;
int q; cin >> q;
for(int i = 1; i <= q; i++){
int x1, y, z, x2, y2, z2;
cin >> x1 >> y >> z >> x2 >> y2 >> z2;
for(int j = x1; j <= x2; j++){
for(int k = y; k <= y2; k++){
for(int p = z; p <= z2; p++){
cube[j][p][k] = 1; // 消灭
// x y z
}
}
}
}
int cnt = 0;
for(int j = 0; j < w; j++){
for(int k = 0; k < x; k++){
for(int p = 0; p < h; p++){
if(cube[j][p][k] == 0) cnt++;
// x y z
}
}
}
cout << cnt;
return 0;
}
爆0了!
正确版本
// 提交第2次测试
#include <iostream>
using namespace std;
int cube[21][21][21];
int main()
{
int w, x,h;
cin >> w >> x >> h;
int q;
cin >> q;
for(int i = 1; i <= q; i++)
{
int x1, y, z, x2, y2, z2;
cin >> x1 >> y >> z >> x2 >> y2 >> z2;
for(int j = x1; j <= x2; j++)
{
for(int k = y; k <= y2; k++)
{
for(int p = z; p <= z2; p++)
{
cube[j][k][p] = 1; // 消灭
}
}
}
}
int cnt = 0;
for(int j = 1; j <= w; j++) // 注意这里的索引变化
{
for(int k = 1; k <= x; k++)
{
for(int p = 1; p <= h; p++)
{
if(cube[j][k][p] == 0) cnt++;
}
}
}
cout << cnt;
return 0;
}
总结:索引要一致,前面用什么(1-based),后面也用什么(1-based),而非 0-based
- ← 上一篇
赦免战俘思路以及题解 - 下一篇 →
关于归并排序