C++ 游戏海报

题目描述

小明有26种游戏海报,用小写字母"a"到"z"表示。小明会把游戏海报装订成册(可能有重复的海报),册子可以用一个字符串来表示,每个字符就表示对应的海报,例如abcdea。小明现在想做一些“特别版”,然后卖掉。特别版就是会从所有海报(26种)中随机选一张,加入到册子的任意一个位置。

那现在小明手里已经有一种海报册子,再插入一张新的海报后,他一共可以组成多少不同的海报册子呢?

输入描述:

海报册子的字符串表示,1 <= 字符串长度<= 20

输出描述:

一个整数,表示可以组成的不同的海报册子种类数

示例1

输入

a

输出

51

说明

我们可以组成 'ab','ac',...,'az','ba','ca',...,'za' 还有 'aa', 一共 51 种不同的海报册子。

 

解题思路:

对于每一种字符串,在每个字符中间都可以选择一个字母插入,每个插入有26中选择,所以总共有(length+1)*26种可能,但是要去掉左边插入和右边插入的重复情况

#include<iostream>
#include<string>

using namespace std;

int main()
{
	char c;
	string poster = "";
	cin >> poster;
	int result = (poster.length() + 1) * 26 - poster.length();
	cout << result << endl;
	cin >> c;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值