顔の質問オファー安全性を証明するために、46-文字列に変換、デジタル - 動的なプログラミングを

/ * 
タイトル:
	順次〜zと翻訳〜25 0の数を考えると、翻訳を計算するための方法の多くの種類があります。
* / 
/ * 
アイデア:
	動的プログラミング
* / 
の#include <iostreamの> 
する#include <CStringの> 
する#include <ベクトル> 
の#include <アルゴリズム> 


名前空間STDを使用して、



INT GetTranslationCount(列番号){ 
    int型の長さ= number.size() ; 
    IF(長さ== == 0 ||長さ1){ 
        戻り長; 
    } 
    。INT = n_next 1;次に文字の//現在の数
    INT次= 2; //現在の文字の次の文字
    (数字場合。 SUBSTR(2,2&-length)> "25"){ 
        次に= 1; 
    } 
    次にCURR = INTは(INT I =長さ- 3; I> = 0; I - ){ 
        IF(number.substr(I 2)>
            CURR =次回。
        }他{ 
            CURR =次+ n_next。
        } 
        n_next =次回。
        次回= CURR。
    } 
    戻りCURR。
} 

int型のmain(){ 
    文字列A = "12258"。
    COUT << GetTranslationCount(A)。
    0を返します。
}

   

おすすめ

転載: www.cnblogs.com/buaaZhhx/p/12031474.html