当前位置: 首页 > article >正文

打卡第三天 P5729 【深基5.例7】工艺品制作

今天是我打卡第三天,做个入门题吧(#^.^#)

题目描述

输入格式

输出格式

输出一个整数表示答案。

输入输出样例

输入 #1

4 4 4
1
1 1 1 2 2 2

输出 #1

56

说明/提示

 C++:

 #include<bits/stdc++.h>
using namespace std;
long long a[100][100][100],sum=0,w,x,h,q,x1,y1,z1,x2,y2,z2;   
int main(){
    cin>>w>>x>>h>>q;
    while(q--){
        cin>>x1>>y1>>z1>>x2>>y2>>z2;
        for(int i=x1;i<=x2;i++){
            for(int j=y1;j<=y2;j++){
                for(int k=z1;k<=z2;k++){
                    a[i][j][k] = 1;
                }
            }
        }
    }
    for(int i=1;i<=w;i++){
        for(int j=1;j<=x;j++){
            for(int k=1;k<=h;k++){
                if(a[i][j][k] == 0){
                    sum++;
                }
            }
        }
    }
    cout<<sum;
    return 0; 
}    

Python:

w,x,h=[int(i) for i in input().split()]
v=list(range(w*x*h))
q=int(input())
qz=list(range(q))
for i in range(q):
    qz[i]=[int(i) for i in input().split()]
for i in range(1,1+w):
    for j in range(1,1+x):
        for k in range(1,1+h):
            for z in range(q):
                if qz[z][0]<=i and qz[z][3]>=i and qz[z][1]<=j and qz[z][4]>=j and qz[z][2]<=k and qz[z][5]>=k:
                    v[w*x*(k-1)+w*(j-1)+i-1]=-1
n=0
for i in v:
    if i>=0:
        n+=1
print(n)
    

Java:


import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
public class Main {

	public static void main(String[] args) throws IOException {
		StreamTokenizer st=new StreamTokenizer(new InputStreamReader(System.in));
		st.nextToken();
		int w=(int) st.nval;
		st.nextToken();
		int x=(int) st.nval;
		st.nextToken();
		int h=(int) st.nval;
		st.nextToken();
		int q=(int) st.nval;
		int fang[][][]=new int[w+1][x+1][h+1];
		for(byte m=0;m<q;m++) {
			st.nextToken();
			int a=(int) st.nval;
			st.nextToken();
			int b=(int) st.nval;
			st.nextToken();
			int c=(int) st.nval;
			st.nextToken();
			int d=(int) st.nval;
			st.nextToken();
			int e=(int) st.nval;
			st.nextToken();
			int f=(int) st.nval;
			for(int i=a;i<=d;i++) {
				for(int j=b;j<=e;j++) {
					for(int k=c;k<=f;k++) {
						fang[i][j][k]=1;
					}
				}
			}
		}
		int sum=0;
		for(int i=1;i<=w;i++) {
			for(int j=1;j<=x;j++) {
				for(int k=1;k<=h;k++) {
					if(fang[i][j][k]==1) {
						sum++;
					}
				}
			}
		}
		int summ=w*x*h-sum;
		System.out.println(summ);
	}
}


http://www.kler.cn/news/334412.html

相关文章:

  • 【web安全】——SSRF服务器端请求伪造
  • 【Linux】进程控制(创建、终止、等待、替换)
  • 交换排序:冒泡排序、递归实现快速排序
  • 深度学习全景进阶:最新Python深度学习进阶与前沿应用
  • Gitlab flow工作流
  • 力扣刷题之2306.公司命名
  • 春秋云镜靶场之CVE-2022-28525
  • 关于鸿蒙next 调用系统权限麦克风
  • 设计模式(3)builder
  • 序列化与反序列化基础及反序列化漏洞(附案例)
  • S7-200 SMART的数据类型说明
  • Stable Diffusion绘画 | 插件-Deforum:动态视频生成(中篇)
  • 基于Es的分词查询通过高亮效果实现前端高亮显示!!!!
  • 机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
  • GPTQ vs AWQ vs GGUF(GGML) 速览和 GGUF 文件命名规范
  • iTextPDF中,要实现表格中的内容在数据长度超过边框时自动换行
  • 【德国EnMAP高光谱卫星】
  • 日记学习小迪安全27
  • 【顺序表使用练习】发牌游戏
  • MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)