1210: OY问题 [搜索]

题目描述

OY是什么意思?那么oyt你知不知道呢?

(这拼音首字母真的是一点加密性都没有)

没错,OY就是这个意思(某人的姓),那么你能分得清“O”怎么写和“Y”怎么写吗?

在计算机里,可以用0代表无色,用1代表黑色,这样对上面的图片进行处理就变成了下图。

那么问题来了,给出这样的01矩阵,你能否判断它是“O”还是“Y”呢?

你可能会说这太简单了(应该会说吧……),所以为了加大难度,给出矩阵所展示的图形可能是经过旋转、拉伸、平移、缩放之后的。

输入

第一行是一个整数TT,代表有T组测试数据。

对于每组数据,第一行是两个整数nn,mm,代表这个n×mn×m矩阵的大小。

下面有nn行mm列描述这个只含0、1的矩阵。

保证图案只有“O”、“Y”,并且有正确结果。

1≤T≤1001≤T≤100

1≤n,m≤201≤n,m≤20

输出

如果图案为“O”,输出“O”。

如果图案为“Y”,输出“Y”。

样例输入

2
13 9
000000000
000111000
001000100
010000010
010000010
010000010
010000010
010000010
010000010
010000010
001000100
000111000
000000000
13 9
000000000
010000010
001000100
000101000
000010000
000010000
000010000
000010000
000010000
000010000
000010000
000010000
000000000

样例输出

O
Y

思路:不能通过每行的奇偶来判断,搜索比较好;

把四个边的边缘的0都搜索一遍变成1,并向周围四个方向延伸,最后剩下有0的就是O了;

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
char a[25][25];
int n,m;
void dfs(int x,int y)
{a[x][y]='1';for(int dx=-1;dx<=1;dx++){for(int dy=-1;dy<=1;dy++){if(abs(dx)!=abs(dy)){int nx=dx+x;int ny=dy+y;if(nx>=0 && nx<n && ny<m && ny>=0 && a[nx][ny]=='0'){a[nx][ny]='1';dfs(nx,ny);}}}}
}
int main()
{int t,i,j;scanf("%d",&t);getchar();while(t--){scanf("%d %d",&n,&m);for(i=0;i<n;i++){getchar();for(j=0;j<m;j++){scanf("%c",&a[i][j]);}}for(i=0;i<n;i++){for(j=0;j<m;j++){if(j==0 || j==m-1 || i==0 || i==n-1){if(a[i][j]=='0')dfs(i,j);}}}bool flag=true;for(i=0;i<n;i++){for(j=0;j<m;j++){if(a[i][j]=='0')flag=false;}}if(!flag) printf("O\n");else printf("Y\n");}return 0;
}

hpuoj 1210: OY问题 [搜索]相关推荐

  1. 1210: OY问题 [搜索]

    题目描述 OY是什么意思?那么oyt你知不知道呢 (这拼音首字母真的是一点加密性都没有) 没错,OY就是这个意思(某人的姓),那么你能分得清"O"怎么写和"Y" ...

  2. HPUoj1210: OY问题 [搜索](DFS

    1210: OY问题 [搜索] 时间限制: 1 Sec 内存限制: 128 MB 提交: 69 解决: 11 题目描述 OY是什么意思?那么oyt你知不知道呢? (这拼音首字母真的是一点加密性都没有) ...

  3. 【hpuoj】OY问题

    问题 K: OY问题 时间限制: 1 Sec 内存限制: 128 MB 提交: - 解决: - 状态 题目描述 OY是什么意思?那么oyt你知不知道呢? (这拼音首字母真的是一点加密性都没有) 没错, ...

  4. 微信小程序入门与实战(七月)

    微信小程序入门与实战(七月) 第1章 初识微信小程序 第2章 小程序的基本目录结构与文件作用剖析 2-1 小程序页面的4种基本文件类型详解 第3章 rpx响应式单位与flex布局 3-3 新建页面的技 ...

  5. 自动化机器学习(三)神经网络架构搜索综述(NAS)简述

    文章目录 技术介绍 简介 技术栈 实现 数据 数据读取 创建模型并训练 模型预测与评估 模型的导出 技术介绍 简介 自动化机器学习就是能够自动建立机器学习模型的方法,其主要包含三个方面:方面一,超参数 ...

  6. java搜索项目内的异常_java中用Lucene做搜索,在建索引时遇到的2个异常

    版本信息: jdk: 1.6 lucene: 3.2.0 情况是这样的,现在项目用lucene做搜索,我在服务器上跑了个后台线程用于建索引(每次最多从数据库中取出2w条),隔10分钟会跑一次,但是 隔 ...

  7. 洛谷 - P2324 - 骑士精神 - A*搜索

    为什么估价是16,因为最后一步复原空格可以恢复两个位置,当然设成17.18都可以. #include<bits/stdc++.h> using namespace std; typedef ...

  8. 2016蓝桥杯C++A组第六题 寒假作业【暴力搜索】

    原题: 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业:□ + □ = □□ - □ = □□ × □ = □□ ÷ □ = □(如果显示不出来,可以参见[图1.jpg])每个方块代表1~13 ...

  9. 1 基于搜索的路径规划 —— Dijkstra算法(python)

    文章目录 算法讲解 重要说明 栅格地图 有权图 1 def main() 1.1 设置机器人的起点和终点,栅格大小,机器人半径 1.2 设置障碍物的位置 1.3 绘制步骤1和2的图 2 class D ...

最新文章

  1. Visual C#中的(ListBox)数据绑定
  2. 线程的创建开销大吗?线程创建开销包括哪些?线程池
  3. 几个想法,有兴趣的可以深入下去
  4. 如何使用有序GUID提升数据库读写性能
  5. springboot 上传文件_基于SpringBoot的文件上传
  6. 修手机时创意被剽窃,男子向苹果索赔7万亿!是认真的吗?
  7. Linux网络-MAC协议
  8. 关于禁用Cookie的问题以及解决办法
  9. NBU MSDP 配置容量为 64TB (Redhat7)
  10. HDU - 2567 寻梦
  11. CSS 绘制太阳系行星运行轨迹
  12. 超有趣的Python实战:将图片转成像素风~
  13. Protractor小结
  14. Android高级工程师面试必备之计算机网络基础,android体系架构
  15. Java核心技术卷一 -第九章:集合
  16. Linux安装第三方Microsoft OneDrive —— abraunegg / onedrive
  17. ICP算法学习记录(包括基础概念,计算推导)
  18. 赖霖枫:我要让身边的人资产超千万
  19. 大家来找茬辅助工具实现
  20. TMS320F28379D——DMA

热门文章

  1. 华科尔d10设置教程_华科尔D10刷Deviation设置参数求教
  2. matlab 小波的分解与重构
  3. 为华生物NH2-PEG2000-MAL氨基聚乙二醇马来酰亚胺的简介及应用
  4. 全球与中国触摸屏IC市场现状及未来发展趋势
  5. 软件测试面试自我介绍/项目介绍居然还有模板?我要是早点发现就好了
  6. 八、基于多源数据建成区提取——Landsat数据大气校正
  7. 娱乐网站(博主自用,他人勿扰)
  8. 自己实现notifyDatasetChanged
  9. excel中文显示乱码
  10. Sklearn之KMeans算法