만드는 중입니다

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

표 정렬

면접 대비

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

요약
1부터 N*M까지의 순열이 담긴 N행 M열 격자가 주어질 때, 행 전체와 열 전체를 서로 바꾸는 연산만으로 행 우선 읽기 순서를 오름차순으로 만들 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
정렬, 구현, 행렬, 그리디
정답자
아직 제출이 없습니다

문제

영선이는 NN행 MM열로 이루어진 표를 가지고 있다. 행은 위에서 아래로 00번부터 N−1N-1번까지, 열은 왼쪽에서 오른쪽으로 00번부터 M−1M-1번까지 번호가 매겨져 있다.

표의 각 칸에는 양의 정수가 하나 쓰여 있고, 표에 적힌 수 전체는 11부터 N×MN \times M까지의 순열이다. 즉 각각의 수는 표에 한 번씩 등장한다.

표의 칸을 첫째 행부터 차례대로, 한 행 안에서는 왼쪽부터 읽어 만든 수열을 값 수열이라고 한다.

영선이는 두 가지 방법으로 표를 수정할 수 있다. 임의의 두 행의 위치를 서로 바꾸거나, 임의의 두 열의 위치를 서로 바꾼다. 두 연산은 각각 원하는 횟수만큼, 원하는 순서로 쓸 수 있다.

표가 주어졌을 때 값 수열을 오름차순으로 만들 수 있는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NN과 MM이 주어진다. (1≤N,M≤501 \le N, M \le 50)

둘째 줄부터 NN개의 줄에 표의 내용이 한 줄에 MM개씩 주어진다.

출력

값 수열을 오름차순으로 만들 수 있으면 11을, 없으면 00을 출력한다.

예제5

  1. 예제 1

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

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

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

    입력
    1 10
    4 5 1 2 9 8 3 10 7 6
    
    예상 출력
    1
    
  5. 예제 5

    입력
    3 5
    10 6 8 9 7
    5 1 3 4 2
    15 11 13 14 12
    
    예상 출력
    1