題目描述
小明有26種遊戲海報,用小寫字母"a"到"z"表示。小明會把遊戲海報裝訂成冊(可能有重複的海報),冊子可以用一個字符串來表示,每個字符就表示對應的海報,例如abcdea。小明現在想做一些“特別版”,然後賣掉。特別版就是會從所有海報(26種)中隨機選一張,加入到冊子的任意一個位置。
那現在小明手裏已經有一種海報冊子,再插入一張新的海報後,他一共可以組成多少不同的海報冊子呢?
輸入描述:
海報冊子的字符串表示,1 <= 字符串長度<= 20
輸出描述:
一個整數,表示可以組成的不同的海報冊子種類數
示例1
輸入
a
輸出
51
說明
我們可以組成 'ab','ac',...,'az','ba','ca',...,'za' 還有 'aa', 一共 51 種不同的海報冊子。
解題思路:
剛開始以爲是一個比較複雜的數學題,嘗試用枚舉('a'-'z'),當時總是wa,後來發現字符串"abc"和字符串"aaa"是一樣的結果
然後得出一個公式:(strlen(str)+1)*26-strlen(str)
AC代碼:
#include<bits/stdc++.h>
using namespace std;
string str;
int main()
{
while(cin>>str)
{
cout<<(str.size()+1)*26-str.size()<<endl;
}
return 0;
}