Description
![](http://www.lydsy.com/JudgeOnline/images/1432.jpg)
Input
一行两个整数n; k。
Output
一行一个整数,表示n 个函数第k 层最少能由多少段组成。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<iostream> using namespace std; int main() { int n,k; cin>>n>>k; if(n==1)cout<<1; else cout<<(min(k,n-k+1)<<1); return 0; }
做这个题目还是需要思考,代码很好写,但是思路不好想。
由于图形可以翻转,其性质依然满足题目,所以在k>n/2的情形下,f[k]=f[n-k+1],
由于每两条直线都不平行,都有交点,并且最多一个交点,所以需要加个平方。
这个的话找一找规律就能发现,就不再详细解释
m<<2意思是m*2*2;