아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

럭비

메모리 제한1024 MB

요약
격자 위의 점 N개를 같은 y좌표에서 x좌표가 연속인 N개의 점으로 옮길 때 필요한 맨해튼 이동 횟수의 최솟값을 구한다.
난이도

보통10점 중 6점

유형
정렬, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

어떤 먼 행성에서는 무한한 2차원 직교 좌표계 위에서 럭비를 한다. 선수는 정수 격자점만 차지할 수 있고, 한 번에 동서남북 네 방향 중 하나로 이웃한 격자점으로 이동할 수 있다. 즉 선수가 현재 점 (X, Y)에 있다면 한 걸음에 (X+1, Y), (X-1, Y), (X, Y+1), (X, Y-1) 중 하나로 이동할 수 있다.

경기가 끝난 뒤 N명의 선수가 좌표계 곳곳에 흩어져 있으며, 각 격자점은 비어 있거나 한 명 이상의 선수가 차지하고 있다. 선수들은 사진을 찍기 위해 모여서 N개의 격자점이 가로로 나란히 이어지고 각 점에 선수 한 명씩 있는 완벽한 일직선을 만들려고 한다. 정확히 말해 선수들은 어떤 좌표 X와 Y에 대해 격자점 (X, Y), (X+1, Y), (X+2, Y), ..., (X+N-1, Y)를 차지하도록 이동해야 한다. 선수들이 일직선의 위치를 좌표계 안에서 마음대로 정할 수 있고 선수의 순서는 중요하지 않다면, 완벽한 일직선을 만들기 위해 선수들이 해야 하는 걸음 수의 합의 최솟값은 얼마인가?

입력

입력의 첫 줄에는 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 따른다. 각 테스트 케이스의 첫 줄에는 선수의 수 N이 주어진다. 그다음 N개의 줄에 선수들의 처음 좌표가 주어진다. 이 줄들 중 i번째 줄에는 두 정수 Xi와 Yi가 있으며, 이는 i번째 선수의 처음 위치를 나타낸다 (1 ≤ i ≤ N).

출력

각 테스트 케이스마다 Case #x: y를 한 줄에 출력한다. 여기서 x는 테스트 케이스 번호(1부터 시작)이고, y는 선수들이 완벽한 가로 일직선을 만들기 위해 해야 하는 걸음 수의 합의 최솟값이다.

제한

  • 1 ≤ T ≤ 100.

힌트

첫 번째 테스트 케이스에서는 여러 최적해 중 하나로, 두 번째 선수가 왼쪽으로 두 걸음, 아래로 세 걸음 이동해 점 (2, 1)로 가는 방법이 있다.

두 번째 테스트 케이스에서는 첫 번째 선수가 점 (0, 2)로, 세 번째 선수가 점 (2, 2)로 이동하면 총 네 걸음으로 완벽한 일직선을 만들 수 있다.

예제1

  1. 예제 1

    입력
    2
    2
    1 1
    4 4
    3
    1 1
    1 2
    1 3
    
    예상 출력
    Case #1: 5
    Case #2: 4