CF1242E.Planar Perimeter
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Ujan has finally cleaned up his house and now wants to decorate the interior. He decided to place a beautiful carpet that would really tie the guest room together.
He is interested in carpets that are made up of polygonal patches such that each side of a patch is either a side of another (different) patch, or is an exterior side of the whole carpet. In other words, the carpet can be represented as a planar graph, where each patch corresponds to a face of the graph, each face is a simple polygon. The perimeter of the carpet is the number of the exterior sides.
Ujan considers a carpet beautiful if it consists of f patches, where the i -th patch has exactly ai sides, and the perimeter is the smallest possible. Find an example of such a carpet, so that Ujan can order it!
输入格式
The first line of input contains a single integer f ( 1≤f≤105 ), the number of patches in the carpet.
The next line contains f integers a1,…,af ( 3≤ai≤3⋅105 ), the number of sides of the patches. The total number of the sides of the patches a1+…+af does not exceed 3⋅105 .
输出格式
Output the description of the carpet as a graph.
First, output a single integer n ( 3≤n≤3⋅105 ), the total number of vertices in your graph (the vertices must be numbered from 1 to n ).
Then output f lines containing the description of the faces. The i -th line should describe the i -th face and contain ai distinct integers vi,1,…,vi,ai ( 1≤vi,j≤n ), which means that the vertices vi,j and vi,(jmodai)+1 are connected by an edge for any 1≤j≤ai .
The graph should be planar and satisfy the restrictions described in the problem statement. Its perimeter should be the smallest possible. There should be no double edges or self-loops in the graph. The graph should be connected. Note that a solution always exists; if there are multiple solutions, output any of them.
输入输出样例
输入#1
2 3 3
输出#1
4 2 1 4 1 2 3
输入#2
3 5 3 5
输出#2
6 1 2 3 4 5 4 5 6 1 3 4 6 5
说明/提示
In the first sample, the two triangular faces are connected by a single edge, which results in the minimum perimeter 4 .
The figure shows one possible configuration for the second sample. The minimum perimeter in this case is 3 .