Fox and Cross(#228(div2)B. )(四周上搜索)

简介: Fox and Cross(#228(div2)B. )(四周上搜索)

#228(div2)B. Fox and Cross



B. Fox and Cross

time limit per test

1 second

memory limit per test


256 megabytes


input


standard input


output


standard output


Fox Ciel has a board with n rows and n columns. So, the board consists of n × n cells. Each cell contains either a symbol '.', or a symbol '#'.


A cross on the board is a connected set of exactly five cells of the board that looks like a cross. The picture below shows how it looks.


6c3a699ae08f4968d011f4cc9af04f5d.png


Ciel wants to draw several (may be zero) crosses on the board. Each cross must cover exactly five cells with symbols '#', and any cell with symbol '#' must belong to some cross. No two crosses can share a cell.


Please, tell Ciel if she can draw the crosses in the described way.


Input


The first line contains an integer n (3 ≤ n ≤ 100) — the size of the board.


Each of the next n lines describes one row of the board. The i-th line describes the i-th row of the board and consists of n characters. Each character is either a symbol '.', or a symbol '#'.


Output


Output a single line with "YES" if Ciel can draw the crosses in the described way. Otherwise output a single line with "NO".


Examples


input

5
.#...
####.
.####
...#.
.....


output

YES


input

1. 4
2. ####
3. ####
4. ####
5. ####


output

NO


input

1. 6
2. .#....
3. ####..
4. .####.
5. .#.##.
6. ######
7. .#..#.


output

YES


input

1. 6
2. .#..#.
3. ######
4. .####.
5. .####.
6. ######
7. .#..#.


output

NO


input

1. 3
2. ...
3. ...
4. ...


output

YES
翻译
Fox Ciel 有一个有 n 行 n 列的板。因此,该板由 n × n 个单元组成。每个单元格包含一个符号“.”或一个符号“#”。 棋盘上的十字架是棋盘上正好五个单元格的连接集合,看起来像一个十字架。下图显示了它的外观。 Ciel 想在黑板上画几个(可能是零)个十字。每个十字必须正好覆盖五个带有符号“#”的单元格,并且任何带有符号“#”的单元格都必须属于某个十字。没有两个十字架可以共享一个单元格。 请告诉夏尔她是否可以按照描述的方式画十字。 输入 第一行包含一个整数 n (3 ≤ n ≤ 100)——棋盘的大小。 接下来的 n 行中的每一行都描述了棋盘的一行。第 i 行描述了棋盘的第 i 行,由 n 个字符组成。每个字符要么是一个符号“.”,要么是一个符号“#”。 输出 如果 Ciel 可以按照描述的方式绘制十字,则输出一行带有“YES”的内容。否则输出一行“NO”。


额,就是说看能不能形成十字架,但是不能重复利用,水题一道;

上ac代码。

有事你就q我;QQ2917366383


学习算法


#include<bits/stdc++.h>
using namespace std;
int sum=0;
  char s[110][110];
int main()
{
  int n;cin>>n;
  for(int i=1;i<=n;i++)
  {
    scanf("%s",s[i]+1);
    for(int j=1;j<=n;j++)
    if(s[i][j]=='#')sum++;
  }
  if(sum%5!=0)
  cout<<"NO"<<endl;
  else
  {
    for(int i=1;i<=n;i++)
  {
    for(int j=1;j<=n;j++)
    {
       if( s[i][j]=='#')//亲,要注意这个哦,这是必要条件 
       {
        if(s[i+1][j]=='#'&&s[i+2][j]=='#'&&s[i+1][j-1]=='#'&&s[i+1][j+1]=='#')
        {
            s[i+1][j]='.';s[i+2][j]='.';s[i+1][j-1]='.';s[i+1][j+1]='.';
            s[i][j]='.';
        }
        else
        {
          cout<<"NO"<<endl;
        return 0;
        }
        }       
     } 
  }
  cout<<"YES"<<endl;//听懂掌声 
  }
}


相关文章
|
JavaScript 算法 前端开发
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
1112 0
|
7月前
|
JavaScript 前端开发
JS如何配合input框实现模糊搜索
JS如何配合input框实现模糊搜索
192 2
|
3月前
|
JavaScript 前端开发
layui下拉框xm-select自定义搜索使用方法
【10月更文挑战第28天】`xm - select` 是基于 Layui 的下拉框增强插件,支持自定义搜索功能。实现步骤包括:1. 引入 Layui 和 xm - select 的核心文件;2. 创建下拉框的基本 HTML 结构;3. 使用 `layui.use` 函数初始化插件并配置搜索功能;4. 可选地进行高级自定义搜索优化,如模糊匹配、多字段搜索和实时更新数据。通过这些步骤,可实现灵活的下拉框搜索功能。
716 1
|
5月前
|
JSON JavaScript 前端开发
使用js实现input框的模糊搜索
使用js实现input框的模糊搜索
41 0
|
7月前
|
JavaScript 前端开发
JS实现select框实现模糊搜索
JS实现select框实现模糊搜索
|
8月前
|
移动开发 前端开发 JavaScript
uVIew Search 搜索
uVIew Search 搜索
95 0
|
8月前
|
JavaScript
原生js做模糊搜索
原生js做模糊搜索
37 0
两个div并列一行显示的多种方法
两个div并列一行显示的多种方法
260 0
|
JavaScript 前端开发
仿百度排列图片预览插件-Simple Lightbox
仿百度排列图片预览插件-Simple Lightbox
62 0
|
Web App开发 JavaScript 前端开发
小小标签,强大功能——深藏不露的 <input>
<input> 虽只是一个看似简单的 HTML 表单元素,但它这么一个单一的元素,就有多达 30 多个属性(attribute),相信无论你是个小菜鸟还是像我一样写了 15 年 HTML 的老手,知道这点的时候还是会惊讶不已的。而且如果再加上全局属性那就更多了,例如最重要的 type 属性有超过20个可能的值!可以来简单看看 MDN 文档。
280 0
小小标签,强大功能——深藏不露的 <input>