#P475. 轮船问题(ship)
轮船问题(ship)
问题描述
某国家被一条河划分为南北两部分,在南岸和北岸总共有N 对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾。政府决定允许开通的航线就互不交叉(如果两条航线交叉,将有很大机会撞船)。
你的任务是编写一个程序来帮政府官员决定他们应拨款兴建哪些航线以使在安全条件下有最多航线可以被开通。
输入格式
第一行两个由空格分隔的整数x,y,(10<=x<=6000,10<=y<=100) 。x 表示河的长度而y 表示宽。第二行是一个整数N(1<=N<=5000),表示分布在河两岸的城市对数。
接下来的N 行每行有两个由空格分隔的正数C,D(C、D<=x) ,描述每一对友好城市沿着河岸与西边境线的距离,C 表示北岸城市的距离而D 表示南岸城市的距离。在河的同一边,任何两个城市的位置都是不同的。
整个输入文件以由空格分隔的两个0 结束。
输出格式
在安全条件下能够开通的最大航线数目。
样例输入
30 4
7
22 4
2 6
10 3
15 12
9 8
17 17
4 2
0 0
样例输出
4