Ispit

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

요약
K개의 연속한 열을 골라 각 행 안에서 글자를 섞었을 때 두 행이 같아질 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
슬라이딩 윈도우, 해시맵, 정렬, 문자열
정답자
아직 제출이 없습니다

문제

26년간 공부한 끝에 어린 미르코가 어쩌면 마지막이 될 시험을 봤다. 그는 자신 있게 자리에 앉아 연필을 깎고 교수님이 답안을 쓰기 시작하라고 허락해 주시기를 차분히 기다렸다. 무엇보다 그가 가장 좋아하는 과목인 자료 구조와 알고리즘이었으니까. 하지만 여느 좋은 이야기에 그러하듯, 여기에도 "하지만"이 있다... 시험지를 받았을 때, 미르코는 적혀 있는 내용을 도무지 이해할 수 없었다. 그가 본 것은 N개의 행과 N개의 열로 이루어진 의미 없는 문자 행렬뿐이었다.

교수님이 시험 중에 교실을 떠나는 것을 금지했기 때문에, 미르코는 2시간 동안 자기만의 문제를 만드는 데 시간을 쓰기로 했다. 미르코는, 행렬에서 연속한 K개의 열을 골라서, 고른 K개의 열 안에서 각 행의 문자를 임의로 섞었을 때 행렬의 두 행이 같아지게 만들 수 있는지 궁금해했다. 섞기는 고른 열 안의 같은 행 내에서만 허용되며, 그런 연산 후에 어떤 행이 그대로 남아 있을 수도 있다.

미르코의 문제를 풀 수 있는가?

입력

입력의 첫 줄에 두 정수 N과 K가 주어진다. (2 ≤ K ≤ N ≤ 500)

다음 N개의 줄에는 미르코가 시험에서 본 문자 행렬을 나타내는 N개의 영어 소문자가 주어진다.

출력

문제의 조건을 만족하는 연속한 K개의 열을 고를 수 있으면 "DA"(크로아티아어로 예, 따옴표 제외)를 출력한다. 그렇지 않으면 "NE"(크로아티아어로 아니요, 이것도 따옴표 제외)를 출력한다.

예제3

  1. 예제 1

    입력
    4 2
    abcd
    acbd
    enaa
    moze
    
    예상 출력
    DA
    
  2. 예제 2

    입력
    2 2
    aa
    aa
    
    예상 출력
    DA
    
  3. 예제 3

    입력
    3 2
    nec
    uuc
    iti
    
    예상 출력
    NE