题库练习 Regular Bridge
← 上一题 下一题 →

A9916 | Regular Bridge

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

An undirected graph is called $k$ -regular, if the degrees of all its vertices are equal $k$ . An edge of a connected graph is called a bridge, if after removing it the graph is being split into two connected components.

Build a connected undirected $k$ -regular graph containing at least one bridge, or else state that such graph doesn't exist.

输入格式

The single line of the input contains integer $k$ ( $1<=k<=100$ ) — the required degree of the vertices of the regular graph.

输出格式

Print "NO" (without quotes), if such graph doesn't exist.

Otherwise, print "YES" in the first line and the description of any suitable graph in the next lines.

The description of the made graph must start with numbers $n$ and $m$ — the number of vertices and edges respectively.

Each of the next $m$ lines must contain two integers, $a$ and $b$ ( $1<=a,b<=n$ , $a≠b$ ), that mean that there is an edge connecting the vertices $a$ and $b$ . A graph shouldn't contain multiple edges and edges that lead from a vertex to itself. A graph must be connected, the degrees of all vertices of the graph must be equal $k$ . At least one edge of the graph must be a bridge. You can print the edges of the graph in any order. You can print the ends of each edge in any order.

The constructed graph must contain at most $10^{6}$ vertices and $10^{6}$ edges (it is guaranteed that if at least one graph that meets the requirements exists, then there also exists the graph with at most $10^{6}$ vertices and at most $10^{6}$ edges).

输入输出样例

输入 #1
1
输出 #1
YES
2 1
1 2
C++ 编辑器
输入
输出