打卡第三天 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);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值