시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 (추가 시간 없음) | 1024 MB | 71 | 25 | 23 | 35.385% |
우리는 무방향 단순 그래프 G를 WE11 no. N
이라는 프로그램에 넣어 놓았다. G의 각 정점에는 1, 2, ..., N의 번호가 붙어 있다. 이 프로그램은 각 정점 쌍마다 간선의 존재 여부를 알려준다. 구체적으로,
안타깝게도, 우리는 진실을 잊고 살기 때문에 더 이상 G가 어떻게 생겼는지 전혀 모른다. 그 상태에서 WE11 no. N
을 실행해서 G가 연결 그래프인지, 즉 어떤 두 정점을 잡더라도 두 정점 사이의 경로가 존재하는지 여부를 알아내려고 한다. 우리는 이 프로그램으로 모은 정보만으로 G가 연결 그래프인지 여부를 알 수 있게 되는 순간 프로그램을 종료할 것이다.
프로그램을 종료했을 때까지 모으게 되는 정보는 최소 몇 개, 최대 몇 개일까? 불쌍한 김우리를 도와주자.
첫 줄에 G의 정점의 개수 N과 간선의 개수 M이 주어진다. (2 ≤ N ≤ 500, 0 ≤ M ≤ N(N-1)/2) 다음 M줄에는 한 줄에 하나씩 한 간선이 연결하는 두 정점의 번호가 주어진다.
첫 번째 줄에 최소 몇 개의 정보를 모으게 될지 출력한다. 두 번째 줄에 최댓값을 출력한다.
3 3 1 2 2 3 3 1
2 2
간선이 어떤 순서로 출력되더라도 정확히 두 번만에 G가 연결그래프임을 알 수 있다.
3 1 1 2
2 3
최소의 경우 (1, 3)과 (2, 3)이 나오면 G가 연결그래프가 아님을 알 수 있다. 최대의 경우 (1, 2), (1, 3), (2, 3)이 나오면 G가 연결그래프가 아님을 알 수 있다. 물론 최소와 최대의 경우는 주어진 순서 외에도 많이 존재한다.
Contest > 웰노운컵 > 제2회 웰노운컵 Day 2 G번