题目描述
同一平面内有n(n≤500)条直线,已知其中p(p≥2)条直线相交于同一点,则这n条直线最多能将平面分割成多少个不同的区域?
输入格式
两个整数n(n≤500)和p(2≤p≤n)
输出格式
一个正整数,代表最多分割成的区域数目。
输入样例 复制
12 5
输出样例 复制
73
解题思路:
先考虑相交与一点的p条直线,显然,这p条直线可以把平面分成2*p个部分,再考虑这p条直线之外的那些直线,要想使分割的平面最多,那么就必须使多出来的直线与这p条直线都相交,这样的话,就是每多一条直线就多出来总的直线个数的平面数,相加即可。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,p;
cin>>n>>p;
int sum=0;
sum=2*p;
for(int i=p+1;i<=n;i++)
{
sum+=i;
}
cout<<sum;
return 0;
}