ああ...
これは、水、それから行きます...
水がうまくいけば、水、あまりにも、その後予選、準決勝ができました...
この質問は、それぞれの答えは(のみ20 * 20 * 20)あなたが懇願してきた場合は、要求を繰り返す必要はありません、生き残る、TLE、その時間のためのスペースを使用するメモリのではありません....
ACコード:
1の#include <cstdioを> 2の#include <CStringの> 3の#include <iostreamの> 4 5 使用 名前空間STD。 6つの 7 長い 長 ANS [ 25 ] [ 25 ] [ 25 ]。 8 9インライン長い 長 W(長い 長い、長い 長い B、長い 長いC){ 10 であれば(<= 0 || B <= 0 || C <= 0)リターン 1 。 11 他の 場合(ANS [A] [B] [C])戻りANS [A] [B] [C]。 12 他の 場合(A> 20 || B> 20 || C> 20)ANS [A] [B] [C](W = 20、20、20 )。 13 他の 場合(<&& B B <C)ANS [A] [B] [C](A、B、C - W = 1)+ W(B - 1、C - 1) - (W A 、B - 1 、C)。 14 他 ANS [A] [B] [C] = W( - 1、B、C)+( - W 1、B - 1、C)+ W( - 1A、B、C - 1) - - (W 1、B - 1、C - 1 )。 15の リターンANS [A] [B] [C]。 16 } 17 18 INT メイン(){ 19 長い 長い、B、C。 20 一方(〜のscanf(" %LLD%LLD%LLD "、&、&B、&C)){ 21 のmemset(ANS、0、はsizeof (ANS))。 22 であれば(== - 1 && B == - 1 && C == - 1)ブレーク。 23 printf(" (%のLLDは、%LLD、%のLLD)= W " 、A、B、C)。 24 であれば(> 20)、A = 21 。 25 であれば(B> 20)B = 21 。 26 場合(C> 20)C = 21 。 27 のprintf(" %LLDする\ n " 、W(A、B、C))。 28 } 29 リターン 0 。 30 }