아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

효구와 호규 (Easy)

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

요약
0과 1이 적힌 카드가 놓인 격자가 주어질 때, 같은 숫자의 인접한 두 카드를 없애거나 카드를 빈 인접 칸으로 옮기는 두 동작만으로 모든 카드를 없앨 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
구현, 시뮬레이션, 그리디, 수학
정답자
아직 제출이 없습니다

문제

효구는 NN개의 행과 MM개의 열로 이루어진 N×MN \times M 크기의 격자판을 갖고 있다. 각 칸에는 하나의 카드가 놓여 있으며, 카드에는 00 또는 11의 숫자가 적혀 있다.

깔끔한 걸 좋아하는 형 호규는 격자판의 모든 카드를 없애려고 한다. 단, 호규는 아래의 두 가지 행동만을 원하는 만큼 수행할 수 있다.

  • 동일한 숫자를 가진 두 카드가 인접해 있으면 두 카드를 없앤다.
  • 카드 하나를 골라 카드가 없는 인접한 칸으로 옮긴다.

여기서 인접해 있다는 것은 상하좌우 네 방향 중 한 방향으로 인접해 있음을 의미한다.

호규가 모든 카드를 없앨 수 있는지 알아보자.

입력

첫 번째 줄에는 격자판의 크기를 나타내는 두 정수 NN과 MM이 주어진다. (3≤N,M≤1,0003 \le N, M \le 1\\,000)

두 번째 줄부터 N+1N+1 번째 줄까지는 격자판의 정보가 주어진다. 각 줄에는 MM개의 숫자가 공백으로 구분되어 주어지며, i+1i+1번째 줄의 jj번째 숫자는 ii행 jj열에 놓인 카드의 숫자를 의미한다. 단, 각 숫자는 00 또는 11이다.

출력

모든 카드를 없앨 수 있으면 11을 출력하고, 그렇지 않으면 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    3 4
    0 1 0 1
    1 1 0 0
    1 0 1 0
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3 3
    0 0 0
    0 0 0
    0 0 0
    
    예상 출력
    -1