瓷砖

1216:红与黑

匿名 (未验证) 提交于 2019-12-02 23:32:01
今天,写一道 大水题 【题目描述】 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 【输入】 包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。W和H都不超过20。在接下来的H行中,每行包括W个字符。每个字符表示一块瓷砖的颜色,规则如下: 1)‘.’:黑色的瓷砖; 2)‘#’:白色的瓷砖; 3)‘@’:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每个数据集合中唯一出现一次。 当在一行中读入的是两个零时,表示输入结束。 【输出】 对每个数据集合,分别输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。 【输入样例】 6 9 ....#. .....# ...... ...... ...... ...... ...... #@...# .#..#. 0 0 【输出样例】 45 【解题思路】 没啥思路,直接搜索就可以解决,AC代码如下 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 using namespace std; 6 char maps[30][30]; 7 int w, h, vis[30

装修

混江龙づ霸主 提交于 2019-11-30 18:43:58
房屋装修装饰记录 装修组成部分 从毛坯开始,装修包括墙面处理、地面处理、顶部处理、改水、改电、改采暖、改煤气。 地面处理主要是卫生间做防水处理,揭掉已有防水层,重新铺防水层,刷防水胶(漆),可以要求将防水漆刷到距地面不低于1.5米的高度,以增加淋浴区防水的性能。铺瓷砖主要注意地砖的铺设方向和缝线对齐,如是否和过道对齐,和门口进门对齐还是远端对齐等,在取得毛坯房尺寸时可以做图测算。 墙面处理,如果不是水泥墙面,装修公司会要求铲墙,把原有乳胶漆和腻子层铲掉,重新挂网、刮腻子、最后刷乳胶漆,或刷壁纸。 顶部处理主要是是否做顶部造型,吊顶。如不做灯池等造型吊顶,可以做石膏线装饰增添立体区域效果。厨房和卫生间通常都需要做吊顶,现在以集成吊顶为主,以每块300mmx300mm尺寸铝扣板组成整个吊顶,吊顶前要提前安装好油烟机在排烟口处的止逆阀,卫生间通风设备在排风口处的止逆阀如果可以也尽量先安装好,因为吊顶安装完毕后的空间很小不方便作业。 改水主要是改卫生间水路和厨房水路,也就是要规划这两个地方上水和排水管位置,水龙头位置。马桶位置因排水固定无法移动,其上水也在旁边一般不需要改造。洗脸池位置一般安装在自来水上水附近,保证水压的正常。地漏通常有2-3个,淋浴地漏、洗衣机地漏,淋浴地漏通常因为上面就是淋浴器,因此也就决定了水路上水的方向,要安排淋浴器到热水器的位置,尽量高度持平避免压力不够淋浴水压小

python Numpy中tile函数使用说明

偶尔善良 提交于 2019-11-29 00:38:29
numpy.tile(A,reps) 函数原型:numpy.tile(A,reps) #简单理解是此函数将A进行重复输出其中A和reps都是array_like的参数,A可以是: array,list,tuple,dict,matrix 以及基本数据类型 int,string,float 以及bool类型 ,reps的类型可以是tuple,list,dict,array,int,bool,但不可以是float,string,matrix类 再啰嗦一句,numpy.tile(A,reps)返回的是矩阵 ndarray <class ‘numpy.ndarray’> 请看例子: import numpy as np #Numpy的 tile() 函数,就是将原矩阵横向、纵向地复制。 # tile 是瓷砖的意思,顾名思义,这个函数就是把数组像瓷砖一样铺展开来。 #设计一个简单的矩阵 ndarray = np.array(list(range(1,4))) print(ndarray)#[1 2 3] ndarray1 = np.tile(ndarray,(2,3)) #tile就像瓷砖一样将第一个参数作为一块瓷砖,铺成 2行乘以3列的矩阵 ndarray2 = np.tile(ndarray1,(2,3)) #以上一个为瓷砖,继续铺成 2行乘以3列的矩阵 print(ndarray)

计蒜客T1211 红与黑问题

拜拜、爱过 提交于 2019-11-26 02:49:44
一道简单的深度搜索题 思路很简单 蒜厂有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。 请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入格式 第一行是两个整数 WW 和 HH,分别表示 xx 方向和 yy 方向瓷砖的数量。WW 和 HH 都不超过 2020。 在接下来的 HH 行中,每行包括 WW 个字符。每个字符表示一块瓷砖的颜色,规则如下 1)’.’:黑色的瓷砖; 2)’#’:白色的瓷砖; 3)’@’:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每个数据集合中唯一出现一次。 输出格式 输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。 输出时每行末尾的多余空格,不影响答案正确性 样例输入 6 9 …#. …# … … … … … #@…# .#…#. 样例输出 45 首先,先处理一下地图,将字符转为数组形式便于处理 然后,标明剪枝条件,即数组越界或者此点已被搜索。 最后找出起始点搜索一下就行了。 `` # include <iostream> # include <cstdio> # include <cstring> # include <cmath> using namespace std ; int a [ 100 ] [ 100 ] ; int vis [ 100 ] [