만드는 중입니다

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

단어 찾기

면접 대비

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

요약
단어가 격자에서 여덟 방향 중 한 방향으로 인접한 칸을 따라 일직선으로 나타나는지 판정한다.
난이도

보통10점 중 4점

유형
배열, 시뮬레이션, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

N×MN \times M 크기의 표가 있고, 각 칸에는 알파벳 대문자가 하나씩 쓰여 있다. 단어 SS가 주어졌을 때, 표에 단어 SS가 있는지 없는지 구하는 프로그램을 작성하시오.

표에 단어 SS가 있으려면 표의 한 칸에서 시작해 SS의 알파벳이 순서대로 이웃한 칸에 이어져야 한다. 이어지는 방향은 위, 아래, 왼쪽, 오른쪽과 대각선 네 방향인 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래를 모두 쓸 수 있다. 단, 중간에 방향을 바꾸면 안 된다.

입력

첫째 줄에 단어 SS가 주어진다. SS의 길이는 100보다 작거나 같고, SS는 알파벳 대문자로만 이루어져 있다.

둘째 줄에 표의 행의 개수 NN과 열의 개수 MM이 주어진다. NN과 MM은 100보다 작거나 같은 자연수이다.

셋째 줄부터 NN개의 줄에 표의 각 행에 들어 있는 알파벳이 MM개씩 공백 없이 주어진다.

출력

표에 단어 SS가 있으면 1을, 없으면 0을 출력한다.

예제4

  1. 예제 1

    입력
    ABCD
    5 5
    ACDBE
    ABCED
    ACCEE
    ACHDF
    ACBCE
    
    예상 출력
    1
    
  2. 예제 2

    입력
    STR
    6 6
    STARTS
    STRSTR
    RRTSRE
    SRSTRR
    STRTSR
    STSTSS
    
    예상 출력
    1
    
  3. 예제 3

    입력
    AFAFK
    2 2
    AB
    CD
    
    예상 출력
    0
    
  4. 예제 4

    입력
    AAAB
    4 4
    AAAA
    ABBA
    ABBA
    AAAA
    
    예상 출력
    0