小さな蜂...
制限時間:1000分の2000 MS(Javaの/その他)メモリの制限:32768分の65536 K(Javaの/その他)の合計提出(S):112363受理提出(S):39714
問題の説明
訓練されたミツバチが唯一の右隣ハイブ、逆ではないクロールを登ったことができますがあります。計算プログラム可能な経路の数は、Bハイブからハチの巣に登ります。
前記ハニカム構造体を以下に示します。
入力
入力データNの最初の行は、整数であるテストケースは、N行の数、二つの整数およびBを含む各行(0 <a <B <50)を示します。
出力
各テストケースのために、出力可能な経路の数は、B、ハイブハイブから、例えば、各行の出力を蜂に登ります。
サンプル入力
2 1 2 3 6
サンプル出力
1 3
この質問は非常に長い時間のようなものです、実際には、非常に簡単、私の考えは、データ・ストレージの配列を使用して、テーブルを打つことです。
2つの点があります注意してください:
①a[i]は= [I-1] + [1-2]
②[50]の定義の先頭には、後にACをダブルに変更し、常にint型WAです。
コードは以下の通りであります:
書式#include <iostreamの> の#include <cstdioを> 使用して 名前空間はstdを、 INT のmain(){ int型のn; int型、最後の最初の。 ダブル [ 50 ]。 [ 1 ] = 1 。 [ 2 ] = 1 ; [ 3 ] = 2 ; 以下のために(int型 I = 4 ; iは= < 50 ; iは++ ){ [I] = [I- 1 ] + [I- 2 ]。 } のscanf(" %のD "、&N) 以下のために(int型私= 0 ; iがN <; Iは++ ){ scanf関数(" %D%dの"、および第一、および最後); printf(" %の.0f "、[+最後に第1 〕)。 printf(" \ nを" ); } 戻り 0 。 }