演算法提高 超級瑪麗

2021-07-28 09:01:57 字數 727 閱讀 9563

演算法提高 超級瑪麗  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

大家都知道"超級瑪麗"是乙個很善於跳躍的探險家,他的拿手好戲是跳躍,但它一次只能向前跳一步或兩步。有一次,他要經過一條長為n的羊腸小道,小道中有m個陷阱,這些陷阱都位於整數字置,分別是a

1,a2,....a

m,陷入其中則必死無疑。顯然,如果有兩個挨著的陷阱,則瑪麗是無論如何也跳過不去的。

現在給出小道的長度n,陷阱的個數及位置。求出瑪麗從位置1開始,有多少種跳躍方法能到達勝利的彼岸(到達位置n)。

輸入格式

第一行為兩個整數n,m

第二行為m個整數,表示陷阱的位置

輸出格式

乙個整數。表示瑪麗跳到n的方案數

樣例輸入

4 1 2

樣例輸出 1

資料規模和約定

40>=n>=3,m>=1

n>m;

陷阱不會位於1及n上

#include#include#include#includeusing namespace std;

int n,m;

int main()

ans[1]=1;

ans[2]=ans[2]==0?0:1;

for(int i=3;i<=n;i++)

cout《斐波那契的變形,在第二個位置如果有陷阱就是0,沒有陷阱就是1

1 1 2 3 5 8...

演算法提高 超級瑪麗

演算法提高 超級瑪麗 問題描述 大家都知道 超級瑪麗 是乙個很善於跳躍的探險家,他的拿手好戲是跳躍,但它一次只能向前跳一步或兩步。有一次,他要經過一條長為n的羊腸小道,小道中有m個陷阱,這些陷阱都位於整數字置,分別是a1,a2,am,陷入其中則必死無疑。顯然,如果有兩個挨著的陷阱,則瑪麗是無論如何也...

演算法提高 超級瑪麗

問題描述 大家都知道 超級瑪麗 是乙個很善於跳躍的探險家,他的拿手好戲是跳躍,但它一次只能向前跳一步或兩步。有一次,他要經過一條長為n的羊腸小道,小道中有m個陷阱,這些陷阱都位於整數字置,分別是a1,a2,am,陷入其中則必死無疑。顯然,如果有兩個挨著的陷阱,則瑪麗是無論如何也跳過不去的。現在給出小...

演算法提高 超級瑪麗

大家都知道 超級瑪麗 是乙個很善於跳躍的探險家,他的拿手好戲是跳躍,但它一次只能向前跳一步或兩步。有一次,他要經過一條長為n的羊腸小道,小道中有m個陷阱,這些陷阱都位於整數字置,分別是a1,a2,am,陷入其中則必死無疑。顯然,如果有兩個挨著的陷阱,則瑪麗是無論如何也跳過不去的。現在給出小道的長度n...