1.1 平面分割问题-C++
【问题描述】
同一平面内有n(n≤500)条直线,已知其中p(p≥2)条直线相交于同一点,则这n条直线最多能将平面分割成多少个不同的区域?
【输入格式】
两个整数n(n≤500)和p(2≤p≤n)。
【输出格式】
一个正整数,代表最多分割成的区域数目。
【输入样例】
12 5
【输出样例】
73
1.分析问题
我们可以拿小一点的数字,比如n=3,p=3。
我们可以发现,当n=p时,这个平面上最多被分隔成p*2个面,如果读者还不理解的话,可自行列举一些n=p的例子。
接下来,我们可以举一个n!=p的例子,我们就列举n=4,p=3的例子。
我们可以将它分成两步分析:1.p条线进行分割;2.剩下的n-p条线继续分割。
第一步就和上面一样,分割区域为p乘2等于3*2等于6个区域。
第二步,我们可以拿第p+1条线也就是第4条线进行分割