JAM计数法

  • 1575: JAM计数法
    • 题目描述
    • 输入
    • 输出
    • 样例输入
    • 样例输出
      • 来源/分类
    • 解析

1575: JAM计数法

时间限制: 1 Sec 内存限制: 256 MB

题目描述

  Jam是个喜欢标新立异的科学怪人。他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩。在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。我们把这样的“数字”称为Jam数字。在Jam数字中,每个字母互不相同,而且从左到右是严格递增的。每次,Jam还指定使用字母的范围,例如,从2到10,表示只能使用{b,c,d,e,f,g,h,i,j}这些字母。如果再规定位数为5,那么,紧接在Jam数字“bdfij”之后的数字应该是“bdghi”。(如果我们用U、V依次表示Jam数字“bdfij”与“bdghi”,则U<V< span>,且不存在Jam数字P,使U<P<V< span>)。你的任务是:对于从文件读入的一个Jam数字,按顺序输出紧接在后面的5个Jam数字,如果后面没有那么多Jam数字,那么有几个就输出几个。

输入

  有2行,第1行为3个正整数,用一个空格隔开:s,t,w(其中s为所使用的最小的字母的序号,t为所使用的最大的字母的序号。w为数字的位数,这3个数满足:1≤s<T≤26, 2≤w≤t-s )第2行为具有w个小写字母的字符串,为一个符合要求的Jam数字。
所给的数据都是正确的,不必验证。

输出

  最多为5行,为紧接在输入的Jam数字后面的5个Jam数字,如果后面没有那么多Jam数字,那么有几个就输出几个。每行只输出一个Jam数字,是由w个小写字母组成的字符串,不要有多余的空格。

样例输入

样例数据
2 10 5
bdfij​

样例输出

bdghi
bdghj
bdgij
bdhij
befgh

来源/分类

蓝桥杯

解析

异常鬼畜的题目?看不懂题是个大问题,总结来讲就是这个意思:

1.如果可以,每次都给最后一位字母+1.
2.如果最后一位字母不能+1,也就是到了最高位,如例子给的j,那就往前找一位+1.
3.前面的数不能大于等于后一位的数即ij不能变成jj.
4.为了使这个数最小,当我们找到一位可以+1的字母,将它后面的所有都依次递增.即设bdfij,令f+1,于是变为bdgij,再令该位后的所有字母与它递增,变为bdghi

#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
#include<queue>
#include<stdio.h>
#include<stdlib.h>
#include<map>
#ifndef NULL
#define NULL 0
#endif
using namespace std;int main()
{int len,n, t,w=5;string s;cin >> n >> t >> len >> s;s[len] = 'a'+t;   //特判while (w--) {for (int i = len - 1; i >= 0; i--)if (s[i] + 1 < s[i + 1]) {s[i]++;for (int j = i + 1; j < len; j++)s[j] = s[i] + j - i;cout << s << endl;break;}}return 0;
}

JAM计数法-蓝桥杯相关推荐

  1. 蓝桥杯题目练习(JAM计数法)

    算法训练VIP JAM计数法 题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的 ...

  2. noip2006 JAM计数法 (模拟)

    A1157. JAM计数法 时间限制:1.0s   内存限制:256.0MB   总提交次数:266   AC次数:158   平均分:65.23 将本题分享到:        查看未格式化的试题   ...

  3. 算法训练 JAM计数法

    ALGO-32 JAM计数法 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世 ...

  4. Java实现 蓝桥杯VIP 算法训练 JAM计数法

    题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小 写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文 ...

  5. 蓝桥杯 算法训练 JAM计数法

    问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字 ...

  6. 算法训练 JAM计数法 java 题解

    资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数 ...

  7. 试题 算法训练 JAM计数法

    问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字 ...

  8. Jam 计数法 思路很清

    大家填空吧,填好了说明就懂了. /* 问题描述Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是 ...

  9. Jam计数 暴力排列法

    详细题设请在站内搜索"Jam计数法"  原题中的样例输入和输出分别为 Input: 2 10 5 bdfij Output: bdghi bdghj bdgij bdhij bef ...

最新文章

  1. php ci hooks,CI框架 -- 核心文件 之 Hooks.php
  2. python游戏设计案例实战pdf_实战案例 | 新蔡规划馆设计方案
  3. 论一只爬虫的自我修养
  4. 基于SQLite+EF6实现一套自己的Key-Value存储管理工具包(2)
  5. 快讯|腔镜手术机器人研发商“北京术锐”完成数千万元 A 轮融资,顺为资本领投...
  6. 对上一篇博客问题的回应
  7. (240)FPGA验证工程师岗位技能树
  8. Jmeter安装设置
  9. Zabbix实战-简易教程--拓扑图(Maps)
  10. 数组reduce()方法
  11. Python实现一个代码行数统计工具(以C/C++为例)
  12. 计算机端口 串口 并口是什么,那些年我们使用的电脑串行,并行接口,你们是否还记得?...
  13. 手机输入法带拼音声调_五笔已经淘汰,拼音到达瓶颈,百度重拳出击,全新输入方式来袭!...
  14. 论文解读:Prediction of Protein–Protein Interaction Sites Using Convolutional Neural Network
  15. Leetcode 665. Non-decreasing Array
  16. vue仿美团饿了么,实现购物车功能
  17. 一个不错的免费打电话的程序
  18. 购买亚马逊保险前,卖家须注意的问题值得你收藏!
  19. scanf与getchar的区别
  20. IFPUG软件功能点计算方法

热门文章

  1. python数据分析透视表,定制你的分析计算需求
  2. 一位JAVA初学者面向C语言学习者的JAVA入门经验分享
  3. 2021年陕西省安全员C证报名考试及陕西省安全员C证找解析
  4. STM32CubeMX Nucleo F767ZI 教程(2)
  5. oracle 插入单引号
  6. 暗刷2345流量宏病毒分析
  7. 手机桌面百度搜索框不显示热词_高效搜索神器,你选listary还是火柴?
  8. php 连接mariadb,MariaDB连接
  9. IDEA中JDBC连接数据库无法加载驱动问题
  10. 南阳理工学院计算机哪个专业好,南阳理工学院专业排名及介绍 哪些专业最好...