Logo
(追記) (追記ここまで)

32070번 - 색깔 모으기 서브태스크

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB118234424231.469%

문제

2ドルN$개의 공과 $N+1$개의 상자가 있다. 공들의 색깔은 1,ドル 2, \cdots, N$ 중 하나이며, 각 색깔에 대해 그 색깔로 칠해진 공은 정확히 2ドル$개 있다. 각 상자는 공을 최대 2ドル$개까지 가지고 있을 수 있다. 처음에는 첫 번째 상자부터 $N$번째 상자에 각각 2ドル$개의 공이 들어 있고, $N+1$번째 상자는 비어 있다. $i$번째 상자의 위에 있는 공의 색깔은 $A_i$이고, 아래에 있는 공의 색깔은 $B_i$이다.

한 상자에서 다른 상자로 공을 옮길 수 있는데, 상자의 가장 위에 있는 공을 빼서 다른 상자의 가장 위에 넣는 작업을 할 수 있다.

여러분은 같은 색으로 칠해진 2ドル$개의 공이 같은 상자에 들어가도록 공을 옮겨야 한다. 이때, 공을 옮기는 작업을 할 때마다 다음 두 조건 중 하나를 만족해야 한다.

  • 옮겨서 공을 놓으려는 상자가 완전히 비어 있어야 한다.
  • 옮겨서 공을 놓으려는 상자에 공이 정확히 하나 들어 있고, 이동하려는 공과 해당 상자에 있는 공의 색깔이 같아야 한다.

색깔이 같은 공이 같은 상자에 들어가도록 하기 위해 필요한 공의 이동 횟수의 최솟값을 구하는 프로그램을 작성하라.

예를 들어, 위 그림에서 아래와 같이 공을 옮기면 6ドル$번의 이동으로 색깔이 같은 공이 같은 상자에 들어가게 되고, 공을 6ドル$번보다 적게 옮겨서 목표를 달성하는 것은 불가능하다.

  • 네 번째 상자의 색깔이 3ドル$인 공을 여섯 번째 상자로 옮긴다.
  • 세 번째 상자의 색깔이 2ドル$인 공을 네 번째 상자로 옮긴다.
  • 첫 번째 상자의 색깔이 4ドル$인 공을 세 번째 상자로 옮긴다.
  • 두 번째 상자의 색깔이 3ドル$인 공을 여섯 번째 상자로 옮긴다.
  • 다섯 번째 상자의 색깔이 5ドル$인 공을 두 번째 상자로 옮긴다.
  • 다섯 번째 상자의 색깔이 1ドル$인 공을 첫 번째 상자로 옮긴다.

입력

첫 번째 줄에 $N$이 주어진다.

두 번째 줄부터 $N$개의 줄에 걸쳐 각 상자에 들어 있는 두 공들의 색깔이 주어진다. $N$개의 줄 중 $i$번째 줄에는 $A_i, B_i$가 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 색깔이 같은 공이 같은 상자에 들어가도록 하기 위해 필요한 공의 이동 횟수의 최솟값을 출력한다.

단, 불가능하다면 $-1$을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1ドル \le N \le 200,000円$
  • 1ドル \le A_i, B_i \le N$
  • 각 $i$ (1ドル \le i \le N$)에 대해서 $A_1, A_2, \cdots, A_N, B_1, B_2, \cdots, B_N$중 정확히 2ドル$개의 값이 $i$와 같다.

서브태스크

번호배점제한
12

$N \le 2$

223

$N \le 20$

315

색이 같은 공이 같은 상자에 들어가도록 공을 옮기는 방법이 존재한다.

415

$N \le 2,000円$

545

추가 제약 조건 없음.

예제 입력 1

5
4 1
3 5
2 4
3 2
5 1

예제 출력 1

6

예제 입력 2

2
1 1
2 2

예제 출력 2

0

예제 입력 3

4
2 1
3 1
2 4
3 4

예제 출력 3

-1

힌트

출처

Olympiad > 한국정보올림피아드 > KOI 2024 2차대회 > 초등부 3번

Olympiad > 한국정보올림피아드 > KOI 2024 2차대회 > 중등부 2번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /