포럼
문제 USACO0487

두 축사 연결하기

설명

농부 존의 농장은 \(1 \ldots N\)으로 편리하게 번호가 붙은 \(N\)개의 들판 \((1 \leq N \leq 10^5)\)으로 이루어져 있다. 들판들 사이에는 \(M\)개의 양방향 길 \((0 \leq M \leq 10^5)\)이 있으며, 각각 두 들판을 연결한다.

농장에는 두 개의 축사가 있는데, 하나는 들판 1에, 다른 하나는 들판 \(N\)에 있다. 농부 존은 두 축사 사이를 몇 개의 길을 따라 걸어서 오갈 수 있도록 하고 싶다. 이를 위해 그는 최대 두 개의 새 길을 건설할 의향이 있다. 들판들의 배치 특성상, 들판 \(i\)\(j\) 사이에 새 길을 건설하는 비용은 \((i-j)^2\)이다.

축사 \(1\)\(N\)이 서로 도달 가능해지도록 하는 데 필요한 최소 비용을 구하는 것을 도와주자.

출제자: Nick Wu

제약

채점 방식

  • 테스트 케이스 2는 \(N \le 20\)을 만족한다.
  • 테스트 케이스 3-5는 \(N \le 10^3\)을 만족한다.
  • 테스트 케이스 6-10은 추가 제약이 없다.

출제자: Nick Wu

입력 형식

각 입력 테스트 케이스는 \(T\)개의 서브 케이스 (\(1\le T\le 20\))를 포함하며, 입력 케이스를 통과하려면 모두 정확히 풀어야 한다.

입력의 첫째 줄에 \(T\)가 주어지고, 이어서 \(T\)개의 서브 테스트 케이스가 주어진다.

각 서브 테스트 케이스는 두 정수 \(N\)\(M\)으로 시작한다. 다음 \(M\)개의 줄에 각각 두 정수 \(i\)\(j\)가 주어지며, 이는 서로 다른 두 들판 \(i\)\(j\) 사이의 길을 나타낸다. 어떤 두 들판 사이에도 길은 최대 하나이며, 모든 서브 테스트 케이스에 대한 \(N+M\)의 합이 최대 \(5 \cdot 10^5\)임이 보장된다.

출력 형식

\(T\)개의 줄을 출력한다. \(i\)번째 줄에는 \(i\)번째 서브 테스트 케이스의 최소 비용을 나타내는 정수를 하나 출력한다.

예제 1
입력
2
5 2
1 2
4 5
5 3
1 2
2 3
4 5
출력
2
1
설명

In the first sub-test case, it is optimal to connect fields 2 and 3 with a
path, and fields 3 and 4 with a path.

In the second sub-test case, it is optimal to connect fields 3 and 4 with a
path. No second path is needed.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2021-2022 > December > Silver

태그

평가 및 의견

Connecting Two Barns

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Connecting Two Barns

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8