大体方向一看,又是一道不涉及算法的题目,仅凭借数学思维就能做,但是俺数学不好啊,咋办,那就来找规律呗,还能咋办?
思路:首先明确,题目让我们在给出天数的条件下,给出每棵树能生长到的最大值,我们来看,假设我么剪到了第i棵树,那么这第i棵树的最大高度将在下次被修剪的前一天产生,所以我们分情况讨论:
最后给出代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 请在此输入您的代码
cin.tie(0),cout.tie(0);
ios::sync_with_stdio(false);//加快cin,cout速度
int n;
cin>>n;
if(n==1)
cout<<1<<endl;
else
{
for(int i=1;i<=n;i++)
{
cout<<max(2*(n-i),2*(i-1))<<endl;
}
}
return 0;
}