A12238 | Algoland and Berland
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Once upon a time Algoland and Berland were a single country, but those times are long gone. Now they are two different countries, but their cities are scattered on a common territory.
All cities are represented as points on the Cartesian plane. Algoland consists of $a$ cities numbered from $1$ to $a$ . The coordinates of the $i$ -th Algoland city are a pair of integer numbers $(xa_i, ya_i)$ . Similarly, Berland consists of $b$ cities numbered from $1$ to $b$ . The coordinates of the $j$ -th Berland city are a pair of integer numbers $(xb_j, yb_j)$ . No three of the $a+b$ mentioned cities lie on a single straight line.
As the first step to unite the countries, Berland decided to build several bidirectional freeways. Each freeway is going to be a line segment that starts in a Berland city and ends in an Algoland city. Freeways can't intersect with each other at any point except freeway's start or end. Moreover, the freeways have to connect all $a+b$ cities. Here, connectivity means that one can get from any of the specified $a+b$ cities to any other of the $a+b$ cities using freeways. Note that all freeways are bidirectional, which means that one can drive on each of them in both directions.
Mayor of each of the $b$ Berland cities allocated a budget to build the freeways that start from this city. Thus, you are given the numbers $r_1, r_2, \dots, r_b$ , where $r_j$ is the number of freeways that are going to start in the $j$ -th Berland city. The total allocated budget is very tight and only covers building the minimal necessary set of freeways. In other words, $r_1+r_2+\dots+r_b=a+b-1$ .
Help Berland to build the freeways so that:
- each freeway is a line segment connecting a Berland city and an Algoland city,
- no freeways intersect with each other except for the freeway's start or end,
- freeways connect all $a+b$ cities (all freeways are bidirectional),
- there are $r_j$ freeways that start from the $j$ -th Berland city.
All cities are represented as points on the Cartesian plane. Algoland consists of $a$ cities numbered from $1$ to $a$ . The coordinates of the $i$ -th Algoland city are a pair of integer numbers $(xa_i, ya_i)$ . Similarly, Berland consists of $b$ cities numbered from $1$ to $b$ . The coordinates of the $j$ -th Berland city are a pair of integer numbers $(xb_j, yb_j)$ . No three of the $a+b$ mentioned cities lie on a single straight line.
As the first step to unite the countries, Berland decided to build several bidirectional freeways. Each freeway is going to be a line segment that starts in a Berland city and ends in an Algoland city. Freeways can't intersect with each other at any point except freeway's start or end. Moreover, the freeways have to connect all $a+b$ cities. Here, connectivity means that one can get from any of the specified $a+b$ cities to any other of the $a+b$ cities using freeways. Note that all freeways are bidirectional, which means that one can drive on each of them in both directions.
Mayor of each of the $b$ Berland cities allocated a budget to build the freeways that start from this city. Thus, you are given the numbers $r_1, r_2, \dots, r_b$ , where $r_j$ is the number of freeways that are going to start in the $j$ -th Berland city. The total allocated budget is very tight and only covers building the minimal necessary set of freeways. In other words, $r_1+r_2+\dots+r_b=a+b-1$ .
Help Berland to build the freeways so that:
- each freeway is a line segment connecting a Berland city and an Algoland city,
- no freeways intersect with each other except for the freeway's start or end,
- freeways connect all $a+b$ cities (all freeways are bidirectional),
- there are $r_j$ freeways that start from the $j$ -th Berland city.
输入格式
Input contains one or several test cases. The first input line contains a single integer number $t$ ( $1 \le t \le 3000$ ) — number of test cases. Then, $t$ test cases follow. Solve test cases separately, test cases are completely independent and do not affect each other.
Each test case starts with a line containing space-separated integers $a$ and $b$ ( $1 \le a, b \le 3000$ ) — numbers of Algoland cities and number of Berland cities correspondingly.
The next line contains $b$ space-separated integers $r_1, r_2, \dots, r_b$ ( $1 \le r_b \le a$ ) where $r_j$ is the number of freeways, that should start in the $j$ -th Berland city. It is guaranteed that $r_1+r_2+\dots+r_b=a+b-1$ .
The next $a$ lines contain coordinates of the Algoland cities — pairs of space-separated integers $xa_i, ya_i$ ( $-10000 \le xa_i, ya_i \le 10000$ ). The next $b$ lines contain coordinates of the Berland cities — pairs of space-separated integers $xb_i, yb_i$ ( $-10000 \le xb_i, yb_i \le 10000$ ). All cities are located at distinct points, no three of the $a+b$ cities lie on a single straight line.
Sum of values $a$ across all test cases doesn't exceed $3000$ . Sum of values $b$ across all test cases doesn't exceed $3000$ .
Each test case starts with a line containing space-separated integers $a$ and $b$ ( $1 \le a, b \le 3000$ ) — numbers of Algoland cities and number of Berland cities correspondingly.
The next line contains $b$ space-separated integers $r_1, r_2, \dots, r_b$ ( $1 \le r_b \le a$ ) where $r_j$ is the number of freeways, that should start in the $j$ -th Berland city. It is guaranteed that $r_1+r_2+\dots+r_b=a+b-1$ .
The next $a$ lines contain coordinates of the Algoland cities — pairs of space-separated integers $xa_i, ya_i$ ( $-10000 \le xa_i, ya_i \le 10000$ ). The next $b$ lines contain coordinates of the Berland cities — pairs of space-separated integers $xb_i, yb_i$ ( $-10000 \le xb_i, yb_i \le 10000$ ). All cities are located at distinct points, no three of the $a+b$ cities lie on a single straight line.
Sum of values $a$ across all test cases doesn't exceed $3000$ . Sum of values $b$ across all test cases doesn't exceed $3000$ .
输出格式
For each of the $t$ test cases, first print "YES" if there is an answer or "NO" otherwise.
If there is an answer, print the freeway building plan in the next $a+b-1$ lines. Each line of the plan should contain two space-separated integers $j$ and $i$ which means that a freeway from the $j$ -th Berland city to the $i$ -th Algoland city should be built. If there are multiple solutions, print any.
If there is an answer, print the freeway building plan in the next $a+b-1$ lines. Each line of the plan should contain two space-separated integers $j$ and $i$ which means that a freeway from the $j$ -th Berland city to the $i$ -th Algoland city should be built. If there are multiple solutions, print any.
输入输出样例
输入 #1
2 2 3 1 1 2 0 0 1 1 1 2 3 2 4 0 1 1 1 0 0 0 1
输出 #1
YES 2 2 1 2 3 2 3 1 YES 1 1
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted