遊戲海報-----快手真題

題目描述

小明有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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章