#P2737. Swamp Things
Swamp Things
描述
Hugh F. Oh 在他那不断试图证明外星人存在的长期研究中,获得了一组研究团队拍摄的夜间照片,这些照片记录了发光沼气。他想看看这些照片中是否出现了不是沼气而是穿着发光服装的小灰人。照片中呈现的是一束束亮点映衬在黑暗背景上。不幸的是,拍摄时有火车经过(沼泽上方有一段高架轨道),偶尔会有车窗灯光出现在照片中。Hugh 作为一个细致的研究员,想要从图像中去除这些车窗光点。他无法从照片中准确知道轨道的位置,也不知道拍摄方向,只知道那一带轨道是完全直的,于是他决定采用以下方法:寻找一条通过最多点的直线,如果该直线上有四个或更多点,就假设它们是火车车窗,将这些点从照片中去除。如果有两条或多条直线都达到最大点数,Hugh 会随机选取其中一条并删除对应的点(他也没那么挑剔——毕竟他相信小灰人)。如果没有任何直线包含四个及以上点,Hugh 就假设照片中没有火车,不会删除任何点。请为他编写程序来处理一组照片。
输入
输入包含若干测试用例。每个测试用例先是一行正整数 $n$($\le 1000$),表示照片中亮点的数量,随后 $n$ 行,每行给出一个点的整数坐标,一对 $(x,y)$。所有坐标均介于 0 和 10000 之间。最后一个测试用例以一行 “0” 结束,该行不做处理。
输出
对于每个测试用例,输出照片编号及被删除的点数,格式见下。
输入数据 1
6
0 1
0 2
1 2
2 2
4 5
5 6
4
3 5
4 4
6 5
7 4
0
输出数据 1
Photo 1: 4 points eliminated
Photo 2: 0 points eliminated
来源
East Central North America 2005