1. 程式人生 > >CCF NOI 1172 單詞數 題解

CCF NOI 1172 單詞數 題解

fields () content ++ 算法 can 不同 noi algorithm

此文為博主原創題解,轉載時請通知博主,並把原文鏈接放在正文醒目位置。

題目鏈接:http://oj.noi.cn/oj/#main/show/1172

題目描述

Jet為了編寫打字練習軟件,要設計一個隨機生成單詞算法,生成單詞的規則是,先給出一個小寫字母組成的“限制單詞”,然後單詞上的每個字母可以改變(仍然是小寫字母)但不能變“大”。比如,“限制單詞”是cb:可以生成的單詞有:aa,ab,ba,bb,ca,cb。
現在輸入限制單詞,問可能產生的單詞數。

輸入

第1行輸入一個小寫字母組成的單詞,單詞長度<100。

輸出

可能產生的不同單詞數,由於答案可能很大,輸出答案模10007的結果。

樣例輸入

cb

樣例輸出

6

分析:

挺水的_(:з」∠)_乘法原理。眼花了以為這是個不錯的題...

AC代碼:

 1 #include<cstdio>
 2 #include<algorithm>
 3 #include<cstring>
 4 #include<cmath>
 5 
 6 const int MOD = 10007;
 7 
 8
char s[200]; 9 long long ans = 1; 10 11 int main() 12 { 13 scanf("%s",s); 14 int n = strlen(s); 15 for(int i = 0;i < n;++ i) 16 ans = ans*(s[i]-a+1)%MOD; 17 printf("%lld\n",ans); 18 return 0; 19 }

CCF NOI 1172 單詞數 題解