算法训练 JAM计数法
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计数法相关推荐
- 算法训练 JAM计数法 java 题解
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数 ...
- 试题 算法训练 JAM计数法
问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字 ...
- 蓝桥杯 算法训练 JAM计数法
问题描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字 ...
- Java实现 蓝桥杯VIP 算法训练 JAM计数法
题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小 写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文 ...
- 蓝桥杯题目练习(JAM计数法)
算法训练VIP JAM计数法 题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的 ...
- noip2006 JAM计数法 (模拟)
A1157. JAM计数法 时间限制:1.0s 内存限制:256.0MB 总提交次数:266 AC次数:158 平均分:65.23 将本题分享到: 查看未格式化的试题 ...
- JAM计数法-蓝桥杯
JAM计数法 1575: JAM计数法 题目描述 输入 输出 样例输入 样例输出 来源/分类 解析 1575: JAM计数法 时间限制: 1 Sec 内存限制: 256 MB 题目描述 Jam是个 ...
- Jam 计数法 思路很清
大家填空吧,填好了说明就懂了. /* 问题描述Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是 ...
- 《算法零基础100讲》(第24讲) 字符串算法(四) - 字符计数法
文章目录 零.写在前面 一.概念定义 二.题目描述 三.算法详解 四.源码剖析 五.推荐专栏 六.习题练习 零.写在前面 这是<算法零基础100讲> 专栏打卡学习的第 24 天了.如果 ...
最新文章
- 威胁预警|多个挖矿僵尸网络开始使用ThinkPHP v5漏洞 威胁升级
- Web开发(一)·期末不挂之第四章·CSS语法基础(CSS选择器选择器优先级各类样式表的使用方法)
- 翻译:程序员数据结构基础:选择正确的数据结构
- html渐变编织背景,【报Bug】uniapp设置了css渐变背景色编译时会报错
- Shell_Oracle Erp和其他系统Interface资料传输通过Shell进行控制(案例)
- swift 拖动按钮_Swift 简单控件示例:滑块(UISlider)
- mysql 字符串枚举类型转换_MyBatis里字段到枚举类型的转换/映射
- jquery 处理json字符串
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置***帧以及动画创建!【二】...
- 核电厂的“神经中枢”——核电厂数字化仪控系统
- 第一个动态网页——留言板
- 浅谈估值模型:相对估值模型中的变形金刚——PE指标I
- ps后期调色教程,ps怎么后期调色步骤图
- 获取jqGrid中每行的子元素td并修改其属性
- 2021年江西省研究生数学建模竞赛题目(一)题目:某肿瘤疾病诊疗的经济学分析
- GDAL 遥感 图像处理 锐化(Laplace算子、Sobel算子)
- 基于Python爬取福建省莆田市天气预报数据获取与预处理的设计与实现
- 猿人学web端爬虫攻防平台第七题动态字体
- 【AI视野·今日CV 计算机视觉论文速览 第172期】Tue, 10 Dec 2019
- 汉字的Unicode 内码