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

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

두 헛간 연결하기

시간 제한2초메모리 제한1024 MB

요약
N개의 목초지와 M개의 기존 경로가 주어질 때, 비용이 (i-j)^2인 경로를 최대 두 개 추가해서 1번과 N번 목초지를 연결하는 최소 비용을 구한다.
난이도

보통10점 중 7점

유형
그래프, 유니온 파인드, 이분 탐색, 그리디
정답자
아직 제출이 없습니다

문제

Farmer John의 농장은 NN개의 밭으로 이루어져 있고 (1≤N≤105)(1 \leq N \leq 10^5), 밭에는 1…N1 \ldots N의 번호가 붙어 있다. 밭 사이에는 MM개의 양방향 길이 있고 (0≤M≤105)(0 \leq M \leq 10^5), 각 길은 두 밭을 연결한다.

농장에는 헛간이 두 개 있는데, 하나는 1번 밭에, 다른 하나는 NN번 밭에 있다. Farmer John은 두 헛간 사이를 길을 따라 걸어서 오갈 수 있게 만들려고 한다. 이를 위해 최대 두 개의 새 길을 지을 수 있다. 밭의 배치 때문에 밭 ii와 밭 jj 사이에 새 길을 지을 때 드는 비용은 (i−j)2(i-j)^2이다.

헛간 1과 NN이 서로 오갈 수 있게 만드는 데 필요한 최소 비용을 구하시오.

입력

각 입력 테스트 케이스는 TT개의 부분 케이스로 이루어져 있으며 (1≤T≤20)(1\le T\le 20), 입력 케이스를 풀려면 모든 부분 케이스를 올바르게 풀어야 한다.

입력의 첫 줄에는 TT가 주어지고, 그 뒤에 TT개의 부분 테스트 케이스가 이어진다.

각 부분 테스트 케이스는 두 정수 NN과 MM으로 시작한다. 다음 MM개의 줄에는 각각 두 정수 ii와 jj가 주어지며, 이는 서로 다른 두 밭 ii와 jj 사이의 길을 나타낸다. 임의의 두 밭 사이에 길이 최대 하나만 존재하며, 모든 부분 테스트 케이스에 대한 N+MN+M의 합은 5⋅1055 \cdot 10^5 이하이다.

출력

TT개의 줄을 출력한다. ii번째 줄에는 ii번째 부분 테스트 케이스의 최소 비용을 나타내는 정수 하나를 출력한다.

예제1

  1. 예제 1

    입력
    2
    5 2
    1 2
    4 5
    5 3
    1 2
    2 3
    4 5
    
    예상 출력
    2
    1