E D R , A S I H C RSS

CheckTheCheck (rev. 1.4)

Check The Check

원문보기
----
인기도:B(A,B,C), 성공률:보통(낮음,보통,높음), 레벨:1(1~4)

About CheckTheCheck

체스판 설정을 읽어서 킹이 공격받고 있는지(체크 상태인지)확인하는 일을 해야 한다. 상대방의 다음 수에 의해 킹이 죽을 수 있는 위치에 있으면 킹이 체크 상태가 된다. 흰 말은 대문자로, 검은 말은 소문자로 표시된다. 흰 편은 항상 판의 아래쪽에, 검은 편은 판의 위쪽에 자리잡는다.

다음은 각 말이 움직이는 방향을 보여주며 "*"는 그 말이 잡을 수 있는 상대방 말의 위치를 나타낸다.
 Pawn          Rook          Bishop
........      ...*....      .......*
........      ...*....      *.....*.
........      ...*....      .*...*..
........      ***r****      ..*.*...
...p....      ...*....      ...b....
..*.*...      ...*....      ..*.*...
........      ...*....      .*...*..
........      ...*....      *.....*.


 Queen         King          Knight
...*...*      ........      ........
*..*..*.      ........      ........
.*.*.*..      ........      ..*.*...
..***...      ..***...      .*...*..
***q****      ..*k*...      ...n....
..***...      ..***...      .*...*..
.*.*.*..      ........      ..*.*...
*..*..*.      ........      ........


다른 말을 건너뛸 수 있는 것은 나이트밖에 없다는 것을 꼭 기억해두자. 폰의 움직임은 어느 편인가에 따라 다르다. 검은 폰이면 아래쪽 대각선 방향으로, 흰색 폰이면 위쪽 대각선 방향으로 한 칸만 움직일 수 있다. 위에 있는 예는 소문자 "p"로 표시된 검은 폰의 움직임을 나타낸 것이다. 방금 "움직인다"라고 표현한 것은 폰이 상대방 말을 잡을 수 있는 경우를 의미한다.

Input

입력에는 임의 개수의 체스판 배치가 들어있을 수 있으며 각 판은 각각 여덟 개 문자로 구성된 여덟 줄로 구성된다. "."은 빈 칸을 의미하며 위에서 정의했듯이 각 말을 의미하는 대문자 또는 소문자가 입력된다. 틀린 문자는 없으며 두 킹이 모두 체크를 당하는 배치는 입력되지 않는다. "." 문자만으로 구성된 비어있는 체스판이 나올 때까지 입력을 읽어야 하며 비어있는 체스판은 처리하지 않는다. 각 체스판 배치 사이에는 빈 줄이 하나씩 들어간다. 비어있는 판을 제외한 모든 판에는 정확하게 하나씩의 흰 킹과 검은 킹이 들어있다.

output

입력된 각 판 배치에 대해 다음 중 한 가지 답을 출력한다.
Game #d: white king is in check.
Game #d: black king is in check.
Game #d: no king is in check.
여기에서 d는 1에서 시작하는 게임번호를 나타낸다.

Sample Input

..k.....
ppp.pppp
........
.R...B..
........
........
PPPPPPPP
K.......

rnbqkbnr
pppppppp
........
........
........
........
PPPPPPPP
RNBQKBNR

rnbqk.nr
ppp..ppp
....p...
...p....
.bPP....
.....N..
PP..PPPP
RNBQKB.R

........
........
........
........
........
........
........
........

Sample Output

Game #1: black king is in check.
Game #2: no king is in check.
Game #3: white king is in check.

풀이

작성자 사용언어 개발시간 코드
문보창 C++ . CheckTheCheck/문보창
곽세환 C++ . CheckTheCheck/곽세환

쓰레드

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:51
Processing time 0.0229 sec