最小包围矩形
2018-12-04 07:12:17来源:博客园 阅读 ()
题目内容:
给定一组二维坐标,表示直角坐标系内的一个多边形的连续的顶点的坐标序列。计算能包围这个多边形的平行于坐标轴的最小矩形,输出它的左下角和右上角的坐标。
输入格式:
第一行是一个正整数n表示顶点的数量,第二行是n组整数,依次表示每个顶点坐标的x和y值。
输出格式:
四个整数,依次表示所计算的矩形的左下角的坐标的x、y值和右上角坐标的x、y值。输出最后带有回车换行。
输入样例:
5
1 1 1 4 3 7 4 4 4 1
输出样例:
1 1 4 7
1 #include <stdio.h> 2 3 typedef struct _dot { 4 int x; 5 int y; 6 } Dot; 7 8 int main(int argc, char const *argv[]) 9 { 10 Dot left_down, right_up; 11 left_down = right_up = (Dot){0,0}; 12 13 Dot p; 14 int n; 15 scanf("%d", &n); 16 17 for ( int i = 0; i < n; i++ ) { 18 scanf("%d %d", &p.x, &p.y); 19 if ( left_down.x || left_down.y || right_up.x || right_up.y ) { 20 if ( p.x < left_down.x ) { 21 left_down.x = p.x; 22 } else if ( p.x > right_up.x ) { 23 right_up.x = p.x; 24 } 25 if ( p.y < left_down.y ) { 26 left_down.y = p.y; 27 } else if ( p.y > right_up.y ) { 28 right_up.y = p.y; 29 } 30 } else { 31 left_down = p; 32 right_up = p; 33 } 34 } 35 printf("%d %d %d %d\n", left_down.x, left_down.y, right_up.x, right_up.y); 36 return 0; 37 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 洛谷P1034 矩形覆盖 2020-03-10
- 【题解】P1440 求m区间内的最小值 2019-12-23
- 最小割最大流定理&残量网络的性质 2019-12-17
- 图论-最小生成树<Kruskal> 2019-10-28
- 【学习笔记】RMQ-Range Minimum/Maximum Query (区间最小/ 2019-08-26
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash