求《程序员》2001年7月的擂台题目。

Narron 2001-09-11 08:49:30
...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nepton 2001-09-11
  • 打赏
  • 举报
回复
你好海星,能够给我发一份么?谢谢
neptonjournal@china.com
starfish 2001-09-11
  • 打赏
  • 举报
回复
这种问题应该到数据算法版来问呀,为什么在这里问?
如果你需要解答和测试数据、参考程序的话,我可以寄给你,留下你的email
starfish 2001-09-11
  • 打赏
  • 举报
回复
在计算机图形处理中,常见的一个问题就是计算组合图形的轮廓线长度,即周长。我们可以将问题简化一下:给定若干的矩形,这些矩形的边平行于x-y轴,矩形之间可能相互重叠,也可能相互分离,要求计算这些矩形的组合图形的周长,或者说被这些矩形覆盖的部分的周长。例如,图1所示的是7个矩形,图2则是这些矩形的组合图形的轮廓,题目的要求就是计算图2中的图形的周长。注意,图二中中间被挖空部分的轮廓线长度也要计算在内(参见后文sample input和sample output的结果)。


图一 7个矩形
图二 7个矩形的组合图形的轮廓

输入
输入数据在文本文件perimeter.in 中,输入文件的第一行是矩形的数目n;接下来的n行每一行有四个整数x1,y1, x2, y2,分别表示一个矩形的左下角x坐标,左下角y坐标,右上角x坐标,右上角y坐标,四个整数之间用空格隔开。例如,对应于图一的7个矩形的输入数据如下:
Sample Input:
7
-15 0 5 10
-5 8 20 25
15 -4 24 14
0 -6 16 4
2 15 10 22
30 10 36 20
34 0 40 16

输出
要求输出到文件perimeter.out 中,输出文件只包含一个整数,即根据对应的输入数据计算出的周长。例如,根据sample input的输入数据,对应的输出结果如下:
Sample Output:
228

限制条件

0 < n <= 5000, 其中n是矩形的数目;所有的坐标在 [-10000, 10000] 范围之内。

参赛要求:
1. 选手可以通过信件(附程序软件)或者EMAIL方式(match@csdn.net)参赛;
2. 具备良好的编程风格,程序中有适当的注释;
3. 要有详细的算法分析;
4. 对于每组可能的测试数据,程序的运行时间不超过5秒(测试使用的CPU为赛扬300)。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧