トピックポータル
問題解決のアイデア:
Fで[I] [0] [i]を[1]最小フライ魔法のi番目の層で表されるi番目の魔法を使用して層、及びFを表すものではありません。
ACコード:
1の#include <iostreamの> 2の#include <cstdioを> 3 4 使用して 名前空間STDを、 5 6 INT nは、[ 1000002 ]、F [ 1000002 ] [ 2 ]。 7 8 INT メイン(){ 9 のscanf(" %d個"、&N) 10 のために(INT iは= 1 ; iが<= N; I ++ ) 11 のscanf(" %dの"、および[I])。 12 F [ 2 ] [0 ] = [ 1 ]。 13 F [ 2 ] [ 1 ] = 0 ; 14 のために(INT iが= 3 ; iが<= N + 1 ; I ++ ){ 15 F [i]が[ 0 ] =分(F [I- 1 ] [ 0 ]、F [I- 1 ] [ 1 ])+ [I- 1 ]。 16 F [i]が[ 1 ] =分(F [I- 1 ] [ 0 ]、F [I- 2 ] [ 0 ])。 17 } 18 printf(" %dの"、分(F [N + 1 ] [ 0 ]、F [N + 1 ] [ 1 ]))。 19 リターン 0 ; 20 }