https://www.acmicpc.net/problem/3041
원래 위치인 각각의 원래 위치는 ((square[i][j] - 'A') / 4, (square[i][j] - 'A') % 4)인데 맨해튼 거리로 흩어짐 정도를 구해야 하므로 찾아진 x, y의 값을 빼주는 것이다.
#include <cstdio>
inline int abs(int a) { return a < 0 ? -a : a; }
char square[4][4];
int main()
{
for (int i = 0; i < 4; ++i)
scanf("%s", square[i]);
int ret = 0;
for (int i = 0; i < 4; ++i)
for (int j = 0; j < 4; ++j)
if (square[i][j] != '.')
ret += (abs((square[i][j] - 'A') / 4 - i) + abs((square[i][j] - 'A') % 4 - j));
printf("%d\n", ret);
return 0;
}
'온라인저지' 카테고리의 다른 글
[BOJ] 3042번: 트리플렛 (0) | 2018.07.27 |
---|---|
[BOJ] 11758번: CCW (0) | 2018.07.27 |
[BOJ] 15595번: 정답 비율 계산하기 (0) | 2018.07.27 |
[BOJ] 3040번: 백설 공주와 일곱 난쟁이 (0) | 2018.07.27 |
[BOJ] 1764번: 듣보잡 (0) | 2018.07.26 |
[BOJ] 10539번: 수빈이와 수열 (0) | 2018.07.26 |
댓글