2019中山大学程序设计竞赛(重现赛) Clumsy Keke
Problem Description
Keke is currently studying engineering drawing courses, and the teacher has taught her how to find its volume through the three views of the part. But her brain doesn't work well that she can't find the volume of complex parts. So she needs your help.
To simplify the problem, the part is made up of cubes with side length 1, and the vertices of these cubes are all on the grid. Give you three 0/1 matrices, each representing each of the three views. 0 means that there is no projection of cubes at this position of the view; 1 means that there is a projection of cubes at this position of the view.
Now Keke wants you to help her find the volume of the part determined by the three views.
Input
There are mutiple test cases, the number of which is no more than 10. For each test case:
The first line of input contains three integers mx,my,mz(1≤mx,my,mz≤99)
, which represent the coordinate range of all possible cubes (i.e. all possible cubes are in the cuboid area whose body diagonal is from (1,1,1)
to (mx,my,mz)
).
Following input a 0/1 matrix with mx
lines and my
columns representing the front view, and the y
-th column of the x
-th row represents the projection of all the cubes in the front view such as (x,y,?)
.
Following input a 0/1 matrix with my
lines and mz
columns representing the side view, and the z
-th column of the y
-th row represents the projections of all the cubes in the side view such as (?,y,z)
.
Following input a 0/1 matrix with mz
lines and mx
columns representing the top view, and the x
-th column of the z
-th row represents the projection of all the cubes of the top view such as (x,?,z)
.
The '?
' in the above coordinates represents any integer. Numbers in the same line are separated by spaces. For more detailed input information, please see the sample
Output
For each test case:
The first line of output should contain an integer, representing the volume of the part determined by the three views. If the determined part is not unique, find the largest of all possible parts.
Keke's teacher promises that there is at least one part that satisfies the input.
Sample Input
5 6 4
1 1 1 1 1 1
0 0 0 1 0 1
0 0 0 1 0 1
0 0 0 0 0 1
0 0 0 0 0 1
0 1 1 0
1 0 0 1
0 0 0 1
0 0 0 1
0 0 0 1
1 1 1 1
1 0 0 0 0
1 0 0 0 0
1 0 0 0 0
1 1 1 1 1
Sample Output
17




解题思路:这道题就是给你三视图,叫你求体积;
(1)首先题给的这个正视图和侧视图不是真实图的正视图和侧视图,所以应该翻转一下;


(2)此时就暴力的枚举每个小块,如果都为1,那么就ans++;这样不会出现重复的情况;
代码如下:
#include<iostream>
#include<stdio.h>
using namespace std; int m , n , k;
int x[][];
int y[][];
int z[][];
int tpx[][];
int tpy[][];
int ans = ;
int main()
{
while(scanf("%d%d%d",&m,&n,&k)!=EOF)
{
ans = ;
for(int i = ; i <= m ; i++)
{
for(int j = ; j <= n ; j++)
{
cin>>x[i][j];
}
}
for(int i = ; i <= n ;i++)
{
for(int j = ;j <= k ;j++)
{
cin>>y[i][j];
}
}
for(int i = ; i <= k ; i ++)
{
for(int j = ; j <= m ;j++)
{
cin>>z[i][j];
}
} for(int i = ; i <= n ; i++)
{
for(int j = ; j <= m ;j++)
{
tpx[i][j] = x[j][n-i+] ; //向左翻转
}
} for(int i = ; i <= n ;i++)
{
for(int j = ;j <= k ;j++)
{
tpy[i][j] = y[n-i+][j]; //上下翻转
}
}
for(int i = ; i <= m ;i++)
{
for(int j = ; j <= n ;j++)
{
for(int l = ; l <= k ;l++)
{
if(tpx[j][i]==&&z[l][i]==&&tpy[j][l]==)
{
ans++;
}
}
}
} cout<<ans<<endl; }
}
2019中山大学程序设计竞赛(重现赛) Clumsy Keke的更多相关文章
- 2019中山大学程序设计竞赛 Triangle
今天水了一发hdu上的中山校赛 这个题交了将近十遍才过...... 就是说给 n 个木棍,如果能找出3个能组成三角形的木棍就输出yes 反之输出no 乍一看很简单 一个排序遍历一遍就好了 但是n值太大 ...
- 2019中山大学程序设计竞赛-Monitor
题目地址 题目大意:给你一个n*m的矩形,在这个矩形内告诉你p个矩形(左下角和右上角坐标),问你q个问题,每次也是给你一个矩形(左下角和右上角坐标),问你每个矩形是否可以被开始给的p个矩形完全覆盖. ...
- 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 G - 彩虹岛套娃
题目描述 俄罗斯套娃是俄罗斯特产的木制玩具,一般由多个一样图案的空心木娃娃一个套一个组成,最多可达十多个,通常为圆柱形,底部平坦可以直立.颜色有红色,蓝色,绿色,紫色等.最普通的图案是一个穿着俄罗斯民 ...
- 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 H - 圣诞节糖果
题目描述 圣诞节临近,彩虹岛的黑心商人
- 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子
题目描述 作为彩虹岛上最擅长打铁的人,
- 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 D - 新卡片游戏
题目描述
- 第十四届浙江财经大学程序设计竞赛重现赛--A-A Sad Story
链接:https://www.nowcoder.com/acm/contest/89/A 来源:牛客网 1.题目描述 The Great Wall story of Meng Jiangnv’s Bi ...
- “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 C-Cities
题目描述:There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirec ...
- 牛客网 湖南大学2018年第十四届程序设计竞赛重现赛 A game
链接:https://www.nowcoder.com/acm/contest/125/A来源:牛客网 Tony and Macle are good friends. One day they jo ...
随机推荐
- 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
平时我们开发使用的是32位的PC机,所以安装的也是Oracle32位的客户端.但是一般服务器都是64位的,安装的也是64位的Oracle客户端,如果要部署使用Oracle.DataAccess连接Or ...
- js动态的给json对象添加新的元素
把{name:"xxx",age:"xxx"}变成{name:"xxx",age:"xxx",value:"x ...
- C++版修真小说
终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊. 他们 ...
- Unity游戏语音(富文本消息)解决方案GVoice
腾迅云-GVoice https://www.qcloud.com/document/product/556/7673 集成1-2天内可搞定,博主亲测 Unity5.4.4f1 今天又试了下语音转文字 ...
- 不同Hadoop模式下,Hive元数据文件存储位置
假如在hive的配置文件hive-site.xml中,属性hive.metastore.warehouse.dir被设置为/root/hive/warehouse. 如果Hadoop是本地模式,则仓库 ...
- Sqlserver2008 FileStream解决图片存储问题
SQLserver FileStream的出现就是为了解决对大对象的存储中一个矛盾. 对于图片的存储方式 第一种:方式是存储在数据库里面,这种方式一般使用image字段,或者varbinary(max ...
- Springboot-读取核心配置文件及自定义配置文件
读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心 ...
- jquery简单ajax示例_读取json文件数据
来自于<jquery权威指南> -------------------------------------- 点击button后,获取到json文件数据,显示如下: Json文件: [ { ...
- sql2008 安装提示重启失败
[转] https://www.cnblogs.com/chenshaogang/p/4313022.html
- es学习-基础增删改查
创建库 插入数据 修改文档: 查询文档: 删除文档: