FZU 1063 三维扫描
水题。DFS求连通块。
#include<cstdio>
#include<cstring>
#include<cmath>
#include <iomanip>
#include<iostream>
#include<algorithm>
using namespace std; const int maxn=+;
int f[maxn][maxn][maxn];
int flag[maxn][maxn][maxn];
int L,W,H;
int M;
int Block; int dir[][]={
{,,},
{,,-},
{,,},
{,-,},
{,,},
{-,,}
}; void read()
{
scanf("%d",&M);
for(int i=;i<=L;i++)
for(int j=;j<=W;j++)
for(int k=;k<=H;k++)
scanf("%d",&f[i][j][k]);
} void init()
{
memset(flag,,sizeof flag);
Block=;
} bool P(int a,int b,int c)
{
if(a>=&&a<=L)
{
if(b>=&&b<=W)
{
if(c>=&&c<=H)
{
return ;
}
}
}
return ;
} void dfs(int x,int y,int z)
{
flag[x][y][z]=Block; for(int i=;i<;i++)
{
int new_x=x+dir[i][];
int new_y=y+dir[i][];
int new_z=z+dir[i][]; int R=f[x][y][z];
int F=f[new_x][new_y][new_z]; if(P(new_x,new_y,new_z)&&flag[new_x][new_y][new_z]==&&abs(R-F)<=M)
dfs(new_x,new_y,new_z);
}
}
void work()
{
for(int i=;i<=L;i++)
for(int j=;j<=W;j++)
for(int k=;k<=H;k++)
{
if(flag[i][j][k]==)
{
Block++;
dfs(i,j,k);
}
}
printf("%d\n",Block);
} int main()
{
while(~scanf("%d%d%d",&L,&W,&H))
{
read();
init();
work();
}
return ;
}
FZU 1063 三维扫描的更多相关文章
- FZU 1063 三维扫描(三维连通块)
Accept: 415 Submit: 1291 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 工业 ...
- 三维扫描 FZU 1063
Description 工业和医学上经常要用到一种诊断技术——核磁共振成像(Magnetic Resonance Imagers).利用该技术可以对三维物体(例如大脑)进行扫描.扫描的结果用一个三维的 ...
- 科学计算三维可视化---Mayavi可视化实例
一:Dragon绘制实例(三维扫描的绘制) 三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标, 他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为 ...
- 三维投影总结:数学原理、投影几何、OpenGL教程、我的方法
如果要得到pose视图,除非有精密的测量方法,否则进行大量的样本采集时很耗时耗力的.可以采取一些取巧的方法,正如A Survey on Partial of 3d shapes,描述的,可以利用已得到 ...
- Python科学计算三维可视化(整理完结)
中国MOOC<Pyhton计算计算三维可视化>总结 课程url:here ,教师:黄天宇,嵩天 下文的图片和问题,答案都是从eclipse和上完课后总结的,转载请声明. Python数据三 ...
- 三维点云去噪无监督学习:ICCV2019论文分析
三维点云去噪无监督学习:ICCV2019论文分析 Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning 论文链接: htt ...
- CVPR2020:点云弱监督三维语义分割的多路径区域挖掘
CVPR2020:点云弱监督三维语义分割的多路径区域挖掘 Multi-Path Region Mining for Weakly Supervised 3D Semantic Segmentation ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- 【转】Intel RealSense(实感技术)概览
Intel RealSense(实感技术)概览 1 Reply 版权声明:本文系本站作者自己翻译整理,欢迎转载,但转载请以超链接形式注明文章来源(planckscale.info).作者信息和本声明, ...
随机推荐
- bash和sh区别
在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数),一般的,sh是bash的“子集”,不是子集的部分. ...
- Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据
Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据 2014-06-11 10:45:14 阅读375次 我们在JNI中处理得到的BMP图片Raw数据,我们应该如何 ...
- 转载 Deep learning:五(regularized线性回归练习)
前言: 本节主要是练习regularization项的使用原则.因为在机器学习的一些模型中,如果模型的参数太多,而训练样本又太少的话,这样训练出来的模型很容易产生过拟合现象.因此在模型的损失函数中,需 ...
- [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目
(1)项目导入JAR包:1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面.2.右键点击项目,Bulid Path->Configure Build Path3.在设置Libraie ...
- 十二月总结-and-2016年终总结
回顾 今天是2016的最后一天了,所以今天来做一个年终总结是最好不过的了.各种期末考试随着而来,也就意味着在工大的第一个学期马上结束了.回顾一下这一年所获得或者失去的一些东西: 2月份在家焦虑的等待着 ...
- CentOS Hadoop安装配置详细
总体思路,准备主从服务器,配置主服务器可以无密码SSH登录从服务器,解压安装JDK,解压安装Hadoop,配置hdfs.mapreduce等主从关系. 1.环境,3台CentOS7,64位,Hadoo ...
- Ubuntu 12.04和Windows 7双系统安装图解
http://wenku.baidu.com/link?url=PZlnNOhY0SjHDW-teFFnCMzPYJVjx7vj6yWY-o5HHFLuFqhLI4uFcQVu_y0_6i7vpSnz ...
- 【嵌入式linux】(第三步):安装串口终端 (ubuntu安装minicom串口终端)
1.前言 我使用的是USB转串口,芯片是PL2303,貌似ubuntu自带了PL2303的USB驱动,可以直接使用,其它的USB转串口的没试过. 2.minicom安装 在终端中输入 : sudo a ...
- C# 双引号的输出
Console.WriteLine("\"a little list.\"");
- SDAU课程练习--problemG(1006)
题目描述 Problem Description The highest building in our city has only one elevator. A request list is m ...