青蛙跳荷葉

2021-09-11 18:26:52 字數 1303 閱讀 6844

從前,有乙個小青蛙決定去荷葉上練習跳躍.現在有n個荷葉排成一排,小青蛙一開始在最左邊的荷葉(一號荷葉)上,當然,這個青蛙是很牛x的,可以在任意兩個荷葉之間跳躍。

有一天這個青蛙突發奇想,想用一種奇怪的方式完成跳躍練習:

1.它希望每次跳到不同的荷葉上

2.每一次跳的距離不同

當然,作出這個決定是何其的簡單,但是跳躍方式是何其的困難……,所以他希望你可以幫他解決這個問題.

下面給出這個問題嚴格的數學定義,請給出1到n這n個自然數的乙個排列a1,a2,a3……an

使得1:a1=1

2:對於任意的i<>j(1<=i,j<=n-1),有|ai-a(i+1)|<>|aj-a(j+1)|,其中n是給定的

一行,乙個數n

一行,n個數,用乙個空格隔開,末尾沒有多餘空格

輸入樣例

3
輸出樣例
1 3 2
資料範圍:

對於20%的資料,1< n <=4

對於100%的資料,1< n <=10000

原本是不會的

還瞎寫了乙個20

2020

分t le

tletl

e的df

sdfs

dfs

#include

#include

#include

#include

using

namespace std;

bool flag,b[

10005][

2];int f[

20005

],n;

void

dfs(

int k)

for(

int i=

2;i<=n;

++i)if(

!b[abs

(i-f[k-1]

)][0

]&&!b[i][1

])}int

main()

沒有思路

莫名就想到了

其實數列就是1、n

、2、n

−1、3

、n−2

……

1、n、2、n-1、3、n-2……

1、n、2、

n−1、

3、n−

2……

#include

#include

using

namespace std;

int n,t;

intmain()

青蛙跳台問題

1 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。分析 要麼從倒數第二階跳上去,要麼從倒數第三階跳上去.2 乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?用fib n 表示青蛙跳上...

青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1 如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 2 假定第一次跳的是2階,那麼剩下的是n 2個台階,跳法是f n 2 3 總跳法為 f n f n...

青蛙跳台階

之前面試遇到了這種題目,不會,後來搜尋了一下,感覺分析的很好 青蛙跳乙個n階的台階,每次可以跳1階或者2階,求跳完n階y有多少種方法。分析 n 1,f n 1 n 2,f n 2 n 3,f n 3 n 4,f n 5 可以發現 f n f n 1 f n 2 由此也可以推想 比如要跳到第4階樓梯上...