P2789 直线交点数
传送门
思路
N条直线相交(且没有三线共点)最多有N(N-1)/2个交点。交点数为取出的线*剩余的线+取出的线的交点,满足递归性质。
代码
#include
using namespace std;
bool Array[500];int ans;
void Count(int remain, int now)
{
if (!remain) {
if (!Array[now])ans++;
Array[now] = true;
return;
}
else for (int i = 1; i <= remain; i++)
Count(remain - i, i * (remain - i) + now);
return;
}
int main(void)
{
int N = 0;
cin >> N;
Count(N, 0);
cout << ans;
return 0;
}