自学内容网 自学内容网

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


原文地址:https://blog.csdn.net/hjxxlsx/article/details/142716035

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!