problem
- n条直线,没有任意三条及以上直线相交于同一点。
- 求从下往上第k层(具体见原题)最少能被划分成多少条线段。
solution
n条边两两相交可以截出n^2段线段(自己画画就出来了QAQ)
所以对于每一层,有如下规律:
当k = 1时,线段数sum=n;
当k>=2时,线段数sum=(n-k+1)*2;
codes
#include<iostream>
using namespace std;
int main(){
int n,k;
cin>>n>>k;
if(n==1){
cout<<1<<'\n';
}else{
cout<<2*min(k,(n-k+1))<<'\n';
}
return 0;
}