矩形分割问题怎样用C++实现

平面上有一个矩形 , 左下角坐标是(0 , 0) , 右上角坐标是(RI , RI) , 年夜矩形的内部有小矩形 , 这些小矩形都平行于坐标轴 , 而且它们都互不重叠 , 并且所有小矩形的极点坐标都是整数 。 请画一条平行于Y轴的直线x=a , 要求落在直线左边的所有小矩形面积必需年夜于等于落在直线右边的面积 , 同时落在直线双方矩形的矩形面积差尽量最小 , 并且直线左边的年夜矩形面积要尽可能的年夜 。
若何用C++计较合适前提的直线x=a呢?小编与大师分享编程经验 。

矩形分割问题怎样用C++实现

文章插图

需要这些哦
C++
方式/
1测试本法式 , 第1行输入两个整数 , 暗示年夜矩形的右上角和小矩形的个数 。
后面每一行输入4个整数 , 暗示小矩形左上角的坐标、高度和宽度 。

矩形分割问题怎样用C++实现

文章插图

2起首 , 界说一个常量MAXN , 其值为100 。

矩形分割问题怎样用C++实现

文章插图

3界说各整型变量 , 实现法式的运算 。

矩形分割问题怎样用C++实现

文章插图

4界说3个长整型变量 , 保留朋分年夜矩形后 , 左侧所有小矩形的面积、右侧所有小矩形的面积 , 以及朋分线的X轴坐标 。

矩形分割问题怎样用C++实现

文章插图

5接着 , 界说4个数组 , 保留各小矩形的初始值 。

矩形分割问题怎样用C++实现

文章插图

6输入年夜矩形右上角的坐标值 , 以及小矩形的数量 。

矩形分割问题怎样用C++实现

文章插图

7用for轮回语句 , 节制输入各小矩形的初始值 。

矩形分割问题怎样用C++实现

文章插图

8用do-while轮回语句 , 节制计较知足前提的朋分线 , 前提为low<=high 。

矩形分割问题怎样用C++实现

文章插图

矩形分割问题怎样用C++实现

文章插图

9接着 , 设置各初始值 。

矩形分割问题怎样用C++实现

文章插图

10用for轮回语句 , 节制计较落在朋分线左侧和右侧小矩形的面积 。

推荐阅读