问题 E: 【排列组合问题】Jam的计数法
程序员文章站
2022-05-21 23:05:40
...
有一种隐忍其实是蕴藏着的一种力量,有一种静默其实是惊天的告白。
题目描述
囚犯之间的秘密交流使用一种被称为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,且不存在Jam数字P,使U<P<V)。作为联络员的邪狼,他的任务是:对于从文件读入的一个 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
这个题交了两遍,都是答案错误,实在找不出哪里出了错,最后想着可能是不能用getchar()读取字符???然后,就换了一种输入方式果断通过。。。。。。
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <cctype>
#include <cstdio>
#include <bitset>
#include <string>
#include <vector>
#include <complex>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#include <functional>
#define inf 0x3f3f3f3f
typedef long long ll;
char ss[50];
int a[50];
using namespace std;
int main(){
int s,t,w,i,j,x;
scanf("%d%d%d%s",&s,&t,&w,ss+1);//s为最小的字母序号,t为最大的字母序号,w为数字的位数
for(i=1;i<=w;i++)
a[i]=ss[i]-'a'+1;
// for(i=1;i<=w;i++)
// cout<<ss[i]<<' '<<a[i]<<endl;
for(i=1;i<=5;i++){
x=-1;
for(j=w;j>=1;j--){
if(a[j]!=t-w+j){
x=j;
break;
}
}
if(x<0)
break;
a[x]++;
for(j=x+1;j<=w;j++)
a[j]=a[j-1]+1;
for(j=1;j<=w;j++)
printf("%c",a[j]+'a'-1);
printf("\n");
}
return 0;
}
上一篇: python实现排列组合
推荐阅读
-
老话题了.PHP导出EXCEL,phpexcel类很强大,但是效率低速度慢,fputcsv速度快但不知道怎么解决科学计数法的问题,求老司机传授经验
-
解决Java中由于数据太大自动转换成科学计数法的问题
-
完美解决python中ndarray 默认用科学计数法显示的问题
-
easyui 导出execl表格 科学计数法精度丢失问题的解决方案
-
使用tableExport.js导出数据出现科学计数法的问题解决
-
请问避免phpexcel导出xls文件电话、身份证被科学计数法显示的有关问题
-
【Python_023】解决pandas读excel中长数字变成科学计数法的问题
-
请问避免phpexcel导出xls文件电话、身份证被科学计数法显示的有关问题
-
完美解决python中ndarray 默认用科学计数法显示的问题
-
老话题了.PHP导出EXCEL,phpexcel类很强大,但是效率低速度慢,fputcsv速度快但不知道怎么解决科学计数法的问题,求老司机传授经验