P5729 【深基5.例7】工艺品制作
1.题目介绍
【深基5.例7】工艺品制作
题目描述
现有一个长宽高分别为 \(w,x,h\) 组成的实心玻璃立方体,可以认为是由 \(1\times1\times1\) 的数个小方块组成的,每个小方块都有一个坐标 $ ( i,j,k ) $。现在需要进行 \(q\) 次切割。每次切割给出 \((x_1,y_1,z_1),(x_2,y_2,z_2)\) 这 6 个参数,保证 \(x_1\le x_2\),\(y_1\le y_2\),\(z_1\le z_2\);每次切割时,使用激光工具切出一个立方体空洞,空洞的壁平行于立方体的面,空洞的对角点就是给出的切割参数的两个点。
换句话说,所有满足 \(x_1\le i\le x_2\),$y_1\le j \le y_2 \(,\)z_1\le k\le z_2$ 的小方块 \((i,j,k)\) 的点都会被激光蒸发。例如有一个 \(4\times4\times 4\) 的大方块,其体积为 \(64\);给出参数 \((1,1,1),(2,2,2)\) 时,中间的 \(8\) 块小方块就会被蒸发,剩下 \(56\) 个小方块。现在想知道经过所有切割操作后,剩下的工艺品还剩下多少格小方块的体积?
输入格式
第一行三个正整数 \(w,x,h\)。
第二行一个正整数 \(q\)。
接下来 \(q\) 行,每行六个整数 \((x_1,y_1,z_1),(x_2,y_2,z_2)\)。
输出格式
输出一个整数表示答案。
样例 #1
样例输入 #1
4 4 4
1
1 1 1 2 2 2
样例输出 #1
56
提示
数据保证,\(1\le w,x,h\le 20\),\(1 \leq q\le 100\)。\(1 \leq x_1 \leq x_2 \leq w\),\(1 \leq y_1\leq y_2 \leq x\),\(1 \leq z_1 \leq z_2 \leq h\)。
2.题解
2.1 模拟
思路
使用空间换时间,用一个三维数组记录每个point是否有玻璃即可
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int w, x, h;
cin >> w >> x >> h;
int q;
cin >> q;
vector<vector<vector<int>>> point(w,vector<vector<int>>(x,vector<int>(h,1)));
for(int i = 0; i < q; i++){
int x1, y1, z1, x2, y2, z2;
cin >> x1 >> y1 >> z1 >> x2 >> y2 >> z2;
for(int X = x1 -1; X <= x2 - 1; X++){
for(int Y = y1 - 1; Y <= y2 - 1; Y++){
for(int Z = z1 - 1; Z <= z2 - 1; Z++){
point[X][Y][Z] = 0;
}
}
}
}
int ans = 0;
for(int X = 0; X < w; X++){
for(int Y = 0; Y < x; Y++){
for(int Z = 0; Z < h; Z++){
if(point[X][Y][Z] != 0) ans++;
}
}
}
cout << ans;
}
P5729 【深基5.例7】工艺品制作的更多相关文章
- P4715 【深基16.例1】淘汰赛
P4715 [深基16.例1]淘汰赛 题目描述 有 2^n(n≤7) 个国家参加世界杯决赛圈且进入淘汰赛环节.我经知道各个国家的能力值,且都不相等.能力值高的国家和能力值低的国家踢比赛时高者获胜.1 ...
- P2240 【深基12.例1】部分背包问题
P2240 [深基12.例1]部分背包问题 题目描述 阿里巴巴走进了装满宝藏的藏宝洞.藏宝洞里面有 N(N \le 100)N(N≤100) 堆金币,第 ii 堆金币的总重量和总价值分别是 m_i,v ...
- 【vector+pair】洛谷 P4715 【深基16.例1】淘汰赛
题目:P4715 [深基16.例1]淘汰赛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题因为数据范围不大,所以做法可以非常简单,使用一个vector加上pair就可以了: ...
- 洛谷 P5706 【深基2.例8】再分肥宅水
题目连接: P5706 [深基2.例8]再分肥宅水 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 我提交的: 1 #include<iostream> 2 #inclu ...
- P5318 【深基18.例3】查找文献题解(链式前向星)
P5318 [深基18.例3]查找文献题解 用head记录这一起点的最后一条边, next记录这一起点的上一条边. 注意要按照参考文献的倒叙排序(要按顺序看,而链式前向星是逆着来的,也就是为什么最简单 ...
- P3613 【深基15.例2】寄包柜
传送门 题目大意 往一个\(a[i][j]\) 里边放东西,也可以取走东西,然后查询\(a[i][j]\)里边是什么东西. 思路: 显然我们可以暴力,但是你开不了那么大的数组. 翻了翻dalao们的题 ...
- P5727 【深基5.例3】冰雹猜想
链接:Miku -------------------- 欸,为什么我第一遍没过 -------------------- #include<iostream> using namespa ...
- 题解 P5718 【【深基4.例2】找最小值】
题目传送门 思路 介绍一种新方法--sort排序,它的格式是这样的sort(a+1,a+n+1,cmp);,我们只需要把a数组排好序,然后输出第\(1\)个元素即可. 定义a数组与变量\(n\)并输入 ...
- 题解 P5712 【【深基3.例4】Apples】
题目传送门 思路 仔细读题后,我们可以发现,输出可以分成\(2\)种情况,apple加s与apple不加s,所以我们可以使用if/else来实现. 接着,我们读入n. int n; cin>&g ...
- 题解 P5733 【【深基6.例1】自动修正】
题目传送门 分析: 1.这道题可以说是一个字符串的练习好题.我们先来了解一下字符串.在这道题中,建议使用\(string\) \(string\)是\(C++\).\(java\).\(VB\)等编程 ...
随机推荐
- 华企盾DSC服务器配置无法创建数据库
测试连接的数据库用户没有创建数据库的权限,应该打开数据库控制台,把对应用户的权限都勾上
- 【OpenCV】【Python】关于cv2.findContours()轮廓索引(编号)解析(RETR_TREE)
在打算自己实现二维码的定位的时候,看到了相关博文的关于cv2.findContours返回的层级信息来定位三个"回"字从而达到定位二维码的目的,但是返回的hierarchy中的层级 ...
- 痞子衡嵌入式:简析i.MXRT1170 MECC64功能特点及其保护片内OCRAM1,2之道
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170 MECC64功能特点及其保护片内OCRAM1,2之道. ECC是 "Error Correcting C ...
- MySQL|主从延迟问题排查(一)
一.案例分享 1.1 问题描述 大查询长时间执行无法释放DML读锁,后续同步主库的DDL操作获取DML写锁资源被阻塞等待,导致后续同步主库的操作堆积,主从延迟增长严重.从同步延迟的监控来看,延迟从17 ...
- MyBatis 源码解析
本文源码解析针对的是 MyBatis 3.4.4 MyBatis 执行流程 第一阶段 MyBatis 在这个阶段获得 Mapper 的动态代理对象,具体逻辑如下图所示: 其中,Configuratio ...
- Typora+Docsify快速入门
Typora是什么? Typora中文版是一款好用极简的跨平台Markdown编辑器,软件使用这款软件能够帮助用户轻松将文本转换到HTML,软件从底层向上设计,软件支持markdown的标准语法, ...
- MySQL进阶篇:详解SQL性能分析
MySQL进阶篇:第三章_SQL性能分析 SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息.通过如下指令,可以查 ...
- C++篇:第十二章_文件及IO_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 十二.文件及IO 当在输入输出流中使用控制符进行格式控制时,需在程序中加入头文件 ...
- OUT了吧,Kafka能实现消息延时了
摘要:本文讲述如何在保存Kafka特有能力的情况下给Kafka扩充一个具有能处理延时消息场景的能力. 本文分享自华为云社区<Kafka也能实现消息延时了?>,作者:HuaweiCloudD ...
- DBA:介里有你没有用过的“CHUAN”新社区版本Redis6.0
摘要:华为云DCS Redis 6.0社区版带来了极致性能.功能全面.可靠性强.性价比高的云服务,并且完全兼容开源Redis,客户端无需修改代码,开通后即可使用,使企业完全无需后顾之忧就能享受到业务响 ...