만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

스케치

면접 대비

시간 제한1초메모리 제한1024 MB

요약
빨간 칸과 흰 칸으로 이루어진 격자를 원형과 십자형 두 가지 붓만으로 만들 수 있는지 판별합니다.
난이도

보통10점 중 4점

유형
구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

화가 블라디미르는 가을 정원을 산책하고 있었다. 불처럼 붉은 나뭇잎이 햇빛에 반짝이는 웅덩이 위로 떨어지고, 곧 고향을 떠날 새들이 노래했다. 그는 풍경에 빠져 내일까지 프로젝트를 제출해야 한다는 사실을 완전히 잊어버렸다.

서둘러 블라디미르는 아무 컴퓨터나 찾아서 머릿속에 있던 밑그림을 픽셀 단위까지 똑같이 재현하기로 했다. 그런데 그가 고른 그래픽 편집기는 기능이 매우 제한되어 있었다.

이 편집기에는 붓이 두 종류뿐이다. 하나는 십자가(×) 모양이고, 다른 하나는 동그라미(○) 모양이다. 칸 (x,y)(x, y) (1⩽x⩽n1 \leqslant x \leqslant n; 1⩽y⩽m1 \leqslant y \leqslant m)과 붓 하나를 고를 수 있다. 동그라미 붓을 고르면 선택한 칸과 변을 맞대고 있는 모든 칸이 빨갛게 칠해진다. 십자가 붓을 고르면 선택한 칸과 꼭짓점을 맞대고 있는 모든 칸이 빨갛게 칠해진다.

n×mn \times m 크기의 밑그림이 주어진다. 블라디미르가 이 두 붓만으로 밑그림을 재현할 수 있는지 판단하라. 붓의 일부가 그림 경계 밖으로 나가도 된다.

입력

첫 줄에 공백으로 구분된 두 정수 nn과 mm이 주어진다. 그림의 가로와 세로 크기이며, 1⩽n,m⩽10001 \leqslant n, m \leqslant 1000이다.

이어지는 nn개의 줄에는 각각 mm개의 문자가 주어진다. 픽셀이 빨갛게 칠해져 있으면 *, 흰색이면 .이다.

출력

그림을 재현할 수 있으면 YES, 그렇지 않으면 NO를 출력한다.

힌트

첫 번째 테스트에서는 (3;4)(3;4) 칸에 십자가 붓과 동그라미 붓을 각각 한 번씩 찍으면 된다.

두 번째 테스트에서는 (4;1)(4;1) 칸과 (5;2)(5;2) 칸에 동그라미 붓을 찍으면 충분하다. 붓이 그림 경계 밖으로 나가도 된다.

예제2

  1. 예제 1

    입력
    5 5
    .....
    ..***
    ..***
    ..***
    .....
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    5 5
    .....
    .....
    *....
    .*...
    *.*..
    
    예상 출력
    YES