C++
$\color{gold}{— > 蓝桥杯辅导课题解}$
$\color{red}{— >另一种阅读体验}$
思路:
思维题
$考虑当前修剪至第i个灌木,当前高度为0$
$1、如果当前向右修剪,那么经过i+1,i+2,···n-1,n后掉转方向,再经过n-1,n-2,···i+1,$
$i回到第i个灌木,共经过2*(n-i)次$
$2、如果当前向左修剪,那么经过i-1,i-2,···2,1后调转方向,再经过2,3···i-1,i回到$
$第i个灌木,共经过2*(i-1)次$
$那么最后的答案就是 max(2(i-1),2(n-i))$
图解:
$code:$
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i ++)
cout << max (2 * (n - i), 2 * (i - 1)) << endl;
return 0;
}
。
。。。
送你一个赞
谢谢大佬的鼓励,嘿嘿(ง •_•)ง
nb