題意:用1-26表示'A'-'Z',這樣一個大寫的字符串就能轉化為一串數字(編碼),現在給出一串數字,問對應多少種編碼?給出的數字至少有一種編碼(合法)。
樣例:
input:
25114 1111111111 3333333333 0
output:6 89 1
思路:假設給出的都是1,相鄰的兩個有兩種方式:1 1 // 11,假設串的長度為n,編碼方式有fibo(n)種(fibo(1)=1, fibo(2)=2);只需要考慮從哪里斷開,然后幾段用乘法原理就行了。
幾個數據:
110
101
27
26
對應輸出:
1
1
1
2