DOJ logoDOJ
题目
最近添加的题目收藏的题目
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

3-Edge

返回题目

题解

조건을 만족하는 그래프를 만들 수 있는 필요충분조건은 VVV가 444 이상의 짝수인 것이다. 이 조건을 만족하지 않으면 -1을 출력한다.

조건을 만족하면 먼저 정점을 번호 순서대로 원형으로 잇는다. 즉, 1≤i<V1 \leq i < V1≤i<V인 각 iii에 대해 간선 (i,i+1)(i,i+1)(i,i+1)을 추가하고, 간선 (V,1)(V,1)(V,1)을 추가한다. 이어서 1≤i≤V/21 \leq i \leq V/21≤i≤V/2인 각 iii에 대해 간선 (i,i+V/2)(i,i+V/2)(i,i+V/2)을 추가한다.

이렇게 추가하는 간선은 모두 V+V/2=3V/2V+V/2=3V/2V+V/2=3V/2개이다. 따라서 먼저 이 개수를 출력한 뒤, 위 순서대로 각 간선을 바로 출력하면 된다.

구성할 수 있는 경우의 시간 복잡도는 O(V)O(V)O(V)이며, 간선을 저장하지 않고 바로 출력하므로 추가 공간 복잡도는 O(1)O(1)O(1)이다. 구성할 수 없는 경우에는 O(1)O(1)O(1) 시간이 걸린다.

증명

각 정점의 차수가 333이면 모든 정점의 차수 합은 3V3V3V이다. 간선 하나는 양 끝점의 차수에 각각 111씩 기여하므로 차수 합은 간선 개수의 두 배와 같다. 따라서 3V3V3V는 짝수이고, VVV도 짝수여야 한다.

자기 자신을 잇는 간선과 중복 간선이 없으므로 각 정점은 서로 다른 세 정점과 연결되어야 한다. 따라서 V≥4V\geq 4도 필요하다.

Solution written by GPT6

V≥4

이제 VVV가 444 이상의 짝수라고 하자. 번호 순서대로 원형으로 잇는 간선은 각 정점에 서로 다른 두 이웃을 만든다. 추가한 간선 (i,i+V/2)(i,i+V/2)(i,i+V/2)들은 각 정점을 정확히 한 번씩 끝점으로 사용하므로, 각 정점에 간선이 하나씩 더 연결된다.

추가한 간선은 서로 다른 두 정점을 잇는다. 또한 2≤V/2≤V−22 \leq V/2 \leq V-22≤V/2≤V−2이므로 원 위에서 마주 보는 두 정점은 이웃한 정점이 아니다. 따라서 추가한 간선은 원형으로 이은 간선과 겹치지 않는다. 추가한 간선들끼리도 끝점이 겹치지 않으므로 중복되지 않는다.

그러므로 구성한 그래프에는 자기 자신을 잇는 간선과 중복 간선이 없고, 모든 정점의 차수는 정확히 333이다. 필요조건을 만족할 때 항상 이러한 그래프를 만들 수 있으므로 제시한 조건은 충분조건이기도 하다.