[BOJ 3041] N-퍼즐

View as PDF

Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 128M

Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

N-퍼즐은 많은 다양한 형태와 이름이 있다. 이번 문제에서 우리가 살펴볼 것은 15-퍼즐이다.

15-퍼즐은 4*4보드에서 움직일 수 있는 정사각형으로 이루어져 있고, 한 정사각형은 빠져있다. 정사각형은 A부터 O까지 이름이 붙여져 있다. 이 퍼즐을 풀면 다음과 같은 그림이 된다.

A B C D
E F G H
I J K L
M N O .

우리는 이러한 15-퍼즐에서 흩어짐 정도를 계산할 수 있다. 흩어짐 정도는 각 정사각형의 현재 위치와 퍼즐을 풀었을 때의 위치와의 거리의 합이다.

두 정사각형의 거리는 그 두 정사각형 사이의 맨해튼 거리이다.

15-퍼즐이 주어졌을 때, 흩어짐 정도를 계산하는 프로그램을 작성하시오.

입력 형식

4줄에 걸쳐 현재 퍼즐의 상태가 주어진다.

출력 형식

퍼즐의 흩어짐 정도를 출력한다.

예제 입력 1

ABCD
EFGH
IJKL
M.NO

예제 출력 1

2

예제 입력 2

.BCD
EAGH
IJFL
MNOK

예제 출력 2

6

Comments

There are no comments at the moment.