列表

详情


KS12. 游戏海报

描述

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

数据范围:输入的字符串长度满足

输入描述

海报册子的字符串表示

输出描述

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

示例1

输入:

a

输出:

51

说明:

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

原站题解

C 解法, 执行用时: 1ms, 内存消耗: 392KB, 提交时间: 2020-07-18

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
  char s[1000];
  while(scanf("%s",&s)!=EOF)
  {
     int cnt=26*(strlen(s)+1)-strlen(s);
     
     printf("%d\n",cnt);
  }
  return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 332KB, 提交时间: 2021-11-28

#include<stdio.h>
#include<string.h>

int main(){
    char a[21]={0};
    char *p=a;
    int n,count=0;
    gets(a);
    n=strlen(a);
    for(int i=0;i<n;i++){
        for(int j=0;j<i;j++){
            if(*(p+i)==*(p+j)){
                *(p+j)='0';
            }
        }
    }
    for(int i=0;i<n;i++){
        if(a[i]!='0') count++;
    }
    printf("%d",26*(n+1)-n);
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 340KB, 提交时间: 2022-08-05

#include <stdio.h>
int main()
{
    char whatever;
    int a = 0;
    while(scanf("%c", &whatever)!=EOF) a++;
    printf("%d\n", 25*(a-1) + 26);
}

C 解法, 执行用时: 2ms, 内存消耗: 348KB, 提交时间: 2019-12-10

#include<stdio.h>
int main(){
    char a[21];
    scanf("%s",a);
    int l=0;
    while(a[l]!='\0')
    {
        ++l;
    }
    printf("%d",26*(l+1)-l);
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 360KB, 提交时间: 2020-05-18

#include <stdio.h>
int main()
{
    char str[30]={'\0'};
    scanf("%s",&str);
    int num = 0;
    int len = 29;
    while (str[len] == '\0')
        len--;
    num = (len+2)*26-len-1;
    printf("%d",num);
    return 0;
}

上一题