ALGO-32 JAM计数法

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

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

AC code:

import java.io.PrintWriter;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);PrintWriter out = new PrintWriter(System.out);int s = sc.nextInt() + 0x60, t = sc.nextInt() + 0x60, w = sc.nextInt(), m = 5;char[] jam = sc.next().toCharArray();while (m-- > 0 && next(jam, s, t)) {for (int i = 0; i < jam.length; i++) out.print(jam[i]);out.print('\n');}out.close();}static boolean next(char[] jam, int min, int max) {int i = jam.length - 2;if (jam[i + 1] < max) {jam[i + 1]++;return true;}while (i >= 0 && jam[i] + 1 == jam[i + 1]) i--;if (i == -1) return false;for (char now = jam[i]; i < jam.length; i++) jam[i] = ++now;return true;}
}

不是很懂 w 这个参数的意义,因为在我看来这就是按题目规则写个全排列

康康别人代码学习一下吧

算法训练 JAM计数法相关推荐

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

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

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

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

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

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

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

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

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

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

  6. noip2006 JAM计数法 (模拟)

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

  7. JAM计数法-蓝桥杯

    JAM计数法 1575: JAM计数法 题目描述 输入 输出 样例输入 样例输出 来源/分类 解析 1575: JAM计数法 时间限制: 1 Sec 内存限制: 256 MB 题目描述   Jam是个 ...

  8. Jam 计数法 思路很清

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

  9. 《算法零基础100讲》(第24讲) 字符串算法(四) - 字符计数法

    文章目录 零.写在前面 一.概念定义 二.题目描述 三.算法详解 四.源码剖析 五.推荐专栏 六.习题练习 零.写在前面   这是<算法零基础100讲> 专栏打卡学习的第 24 天了.如果 ...

最新文章

  1. 威胁预警|多个挖矿僵尸网络开始使用ThinkPHP v5漏洞 威胁升级
  2. Web开发(一)·期末不挂之第四章·CSS语法基础(CSS选择器选择器优先级各类样式表的使用方法)
  3. 翻译:程序员数据结构基础:选择正确的数据结构
  4. html渐变编织背景,【报Bug】uniapp设置了css渐变背景色编译时会报错
  5. Shell_Oracle Erp和其他系统Interface资料传输通过Shell进行控制(案例)
  6. swift 拖动按钮_Swift 简单控件示例:滑块(UISlider)
  7. mysql 字符串枚举类型转换_MyBatis里字段到枚举类型的转换/映射
  8. jquery 处理json字符串
  9. 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置***帧以及动画创建!【二】...
  10. 核电厂的“神经中枢”——核电厂数字化仪控系统
  11. 第一个动态网页——留言板
  12. 浅谈估值模型:相对估值模型中的变形金刚——PE指标I
  13. ps后期调色教程,ps怎么后期调色步骤图
  14. 获取jqGrid中每行的子元素td并修改其属性
  15. 2021年江西省研究生数学建模竞赛题目(一)题目:某肿瘤疾病诊疗的经济学分析
  16. GDAL 遥感 图像处理 锐化(Laplace算子、Sobel算子)
  17. 基于Python爬取福建省莆田市天气预报数据获取与预处理的设计与实现
  18. 猿人学web端爬虫攻防平台第七题动态字体
  19. 【AI视野·今日CV 计算机视觉论文速览 第172期】Tue, 10 Dec 2019
  20. 汉字的Unicode 内码

热门文章

  1. Picard 法求方程根
  2. 验证picard迭代c语言,分数阶微分方程边值问题的Picard's迭代法
  3. 简约黄历日历网站源码分享 上传空间就能打开
  4. hadoop2.7.2基于centos完全分布式安装
  5. Bridge (桥接模式)
  6. 低调一点,共享健身房无线组网解决方案
  7. Kolin-集合详解(二)
  8. PLC:梯形图基本语法看这一篇就够了
  9. 北京邮局的人都去吃大米共吧!
  10. 《第一行代码》Android学习笔记(6)数据存储