#P16287. [Ucpc2020]数据制作

[Ucpc2020]数据制作

题目描述

你需要在平面上放置 NN 个点,并在这些点之间画出 MM 条线段,使图形恰好形成 KK 个区域。

这里的“区域”指平面中的一个有界空白部分,其边界必须完全由所画线段组成。一个区域可以包围另一个区域。

输出必须满足以下全部条件:

  1. 每个点的 x,yx,y 坐标都是 117979 之间的整数;
  2. 所有点的位置互不相同;
  3. 不允许存在连接同一对点的多条线段;
  4. 每条线段必须连接两个不同的点;
  5. 任意两条不同线段不能在公共端点以外的位置相交;
  6. 除一条线段的两个端点外,其他任何输出点都不能位于该线段上。

下图中:

  • (a) 用 3 个点和 3 条线段形成 1 个区域,是合法输出;
  • (b) 用 4 个点和 6 条线段形成 3 个区域,是合法输出;
  • (c) 含有曲线,不合法;
  • (d) 线段在非端点处相交,不合法。

合法与不合法示意图

输入格式

第一行包含三个整数 N,M,KN,M,K,分别表示点数、线段数和需要形成的区域数。

3N3000,M0,K0.3\le N\le 3000, \qquad M\ge 0, \qquad K\ge 0.

保证存在一组满足条件的 NN 个点和 MM 条线段,能够形成恰好 KK 个区域。

输出格式

NN 行,第 ii 行输出两个整数 xi,yix_i,y_i,表示第 ii 个点的坐标。

接下来 MM 行,每行输出两个整数 u,vu,v,表示画一条连接第 uu 个点和第 vv 个点的线段。

输出任意满足全部条件的构造即可。

样例 1

输入

4 6 3

一种合法输出

1 1
3 1
2 2
2 3
1 2
1 3
1 4
2 3
2 4
3 4

样例 2

输入

6 5 1

一种合法输出

1 1
1 2
2 1
3 1
3 2
4 1
1 2
1 3
2 3
4 5
5 6