문제
뽀삐는 (x, y) 좌표축을 돌아다니는 로봇이다.
좌표축에 놓여져있는 호출기를 모두 주우려고 한다. 이를 위해서 뽀삐는 호출기가 있는 장소로 직선으로만 움직인다. 뽀삐가 있는 현재 위치에서 모든 호출기를 줍고 현재 위치로 돌아오는 최단거리 구하는 것이 문제이다.
뽀삐는 x, y 축을 따라서만 움직일 수 있고 대각선으로 움직이지는 못한다. 즉 (i, j) 위치에 있다면 (i, j+1) , (i, j-1) , (i-1, j), (i+1, j) 로만 움직일 수 있다.
좌표값은 최대 20*20 을 넘지 않고 많아야 10 개의 호출기가 있다. 좌표값은 1 이상 주어지는 좌표값 범위안에 존재한다.
입력
첫 줄은 좌표의 크기가 주어진다. 그 다음 줄에는 뽀삐가 현재 있는 위치가 주어진다. 다음 줄에는 호출기의 수가 주어지고, 다음 줄 부터는 호출기가 있는 좌표 값이 입력으로 주어진다. 주어지는 좌표값은 모두 정수다.
출력
뽀삐가 모든 호출기를 줍고 현재 위치로 돌아오는 최단거리를 출력한다.
예제
10 10
1 1
4
2 3
5 5
9 4
6 5
24
출처
Svenskt Mästerskap i Programmering/Norgesmesterskapet 2002, poj 1104