CF959C.Mahmoud and Ehab and the wrong algorithm

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Mahmoud was trying to solve the vertex cover problem on trees. The problem statement is:

Given an undirected tree consisting of nn nodes, find the minimum number of vertices that cover all the edges. Formally, we need to find a set of vertices such that for each edge (u,v)(u,v) that belongs to the tree, either uu is in the set, or vv is in the set, or both are in the set. Mahmoud has found the following algorithm:

  • Root the tree at node 11 .
  • Count the number of nodes at an even depth. Let it be evenCntevenCnt .
  • Count the number of nodes at an odd depth. Let it be oddCntoddCnt .
  • The answer is the minimum between evenCntevenCnt and oddCntoddCnt .

The depth of a node in a tree is the number of edges in the shortest path between this node and the root. The depth of the root is 0.

Ehab told Mahmoud that this algorithm is wrong, but he didn't believe because he had tested his algorithm against many trees and it worked, so Ehab asked you to find 2 trees consisting of nn nodes. The algorithm should find an incorrect answer for the first tree and a correct answer for the second one.

输入格式

The only line contains an integer nn (2<=n<=105)(2<=n<=10^{5}) , the number of nodes in the desired trees.

输出格式

The output should consist of 2 independent sections, each containing a tree. The algorithm should find an incorrect answer for the tree in the first section and a correct answer for the tree in the second. If a tree doesn't exist for some section, output "-1" (without quotes) for that section only.

If the answer for a section exists, it should contain n1n-1 lines, each containing 2 space-separated integers uu and vv (1<=u,v<=n)(1<=u,v<=n) , which means that there's an undirected edge between node uu and node vv . If the given graph isn't a tree or it doesn't follow the format, you'll receive wrong answer verdict.

If there are multiple answers, you can print any of them.

输入输出样例

  • 输入#1

    2
    

    输出#1

    -1
    1 2
    
  • 输入#2

    8
    

    输出#2

    1 2
    1 3
    2 4
    2 5
    3 6
    4 7
    4 8
    1 2
    1 3
    2 4
    2 5
    2 6
    3 7
    6 8

说明/提示

In the first sample, there is only 1 tree with 2 nodes (node 11 connected to node 22 ). The algorithm will produce a correct answer in it so we printed 1-1 in the first section, but notice that we printed this tree in the second section.

In the second sample:

In the first tree, the algorithm will find an answer with 4 nodes, while there exists an answer with 3 nodes like this: In the second tree, the algorithm will find an answer with 3 nodes which is correct:

首页