N 青蛙過河

2021-07-29 12:54:18 字數 1027 閱讀 2470

description

1)一條小溪尺寸不大,青蛙可以從左岸跳到右岸,在左岸有一石柱l,石柱l面積只容得下乙隻青蛙落腳,同樣右岸也有一石柱r,石柱r面積也只容得下乙隻青蛙落腳。 2)有一隊青蛙從小到大編號:1,2,…,n。 3)初始時:青蛙只能趴在左岸的石頭 l 上,按編號乙個落乙個,小的落在大的上面-----不允許大的在小的上面。 4)在小溪中有s個石柱、有y片荷葉。 5)規定:溪中的每個石柱上如果有多隻青蛙也是大在下、小在上,每個荷葉只允許乙隻青蛙落腳。 6)對於右岸的石柱r,與左岸的石柱l一樣允許多個青蛙落腳,但須乙個落乙個,小的在上,大的在下。 7)當青蛙從左岸的l上跳走後就不允許再跳回來;同樣,從左岸l上跳至右岸r,或從溪中荷葉、溪中石柱跳至右岸r上的青蛙也不允許再離開。 問題:在已知小溪中有 s 根石柱和 y 片荷葉的情況下,最多能跳過多少只青蛙?

input

輸入資料有多組,每組佔一行,每行包含2個數s(s是小溪中的石柱數目)、y(y是小溪中的荷葉數目)。(0 <= s <= 10,0 <= y <= 10),輸入檔案直到eof為止!

output

對每組輸入,輸出有一行,輸出最多能跳過的青蛙數目。

sample input

0 2

1 2

sample output

3

6

解題思路:

對於沒有石柱時,青蛙個數為荷葉個數+1,有石柱時,對於固定的荷葉數,有i個石柱是有i-1個石柱時數量的2倍

**:#include#includeusing namespace std;

int main()

{ int s,y;

int i,j;

int a[11][11];

for(i=0;i<11;i++)

a[0][i]=i+1;

for(i=1;i<11;i++)

for(j=0;j<11;j++)

a[i][j]=a[i-1][j]*2;

while(cin>>s>>y)

{cout<

N 青蛙過河

description 1 一條小溪尺寸不大,青蛙可以從左岸跳到右岸,在左岸有一石柱l,石柱l面積只容得下乙隻青蛙落腳,同樣右岸也有一石柱r,石柱r面積也只容得下乙隻青蛙落腳。2 有一隊青蛙從小到大編號 1,2,n。3 初始時 青蛙只能趴在左岸的石頭 l 上,按編號乙個落乙個,小的落在大的上面 不允...

N 青蛙過河

description 1 一條小溪尺寸不大,青蛙可以從左岸跳到右岸,在左岸有一石柱l,石柱l面積只容得下乙隻青蛙落腳,同樣右岸也有一石柱r,石柱r面積也只容得下乙隻青蛙落腳。2 有一隊青蛙從小到大編號 1,2,n。3 初始時 青蛙只能趴在左岸的石頭 l 上,按編號乙個落乙個,小的落在大的上面 不允...

遞推遞迴練習N 青蛙過河

description 1 一條小溪尺寸不大,青蛙可以從左岸跳到右岸,在左岸有一石柱l,石柱l面積只容得下乙隻青蛙落腳,同樣右岸也有一石柱r,石柱r面積也只容得下乙隻青蛙落腳。2 有一隊青蛙從小到大編號 1,2,n。3 初始時 青蛙只能趴在左岸的石頭 l 上,按編號乙個落乙個,小的落在大的上面 不允...