s t w
(其中s为所使用的最小的字母的序号,t为所使用的最大的字母的序号。w为数字的位数,这3个数满足:1≤s<T≤26, 2≤w≤t-s )
第2行为具有w个小写字母的字符串,为一个符合要求的Jam数字。
所给的数据都是正确的,不必验证。
bdfij
bdghj
bdgij
bdhij
befgh
#include <stdio.h>
#include <string.h>
#define MAXW 30
int main()
{
int i, j, count;
int s, t, w;
char jam[MAXW], tJam[MAXW];
scanf("%d%d%d", &s, &t, &w);
scanf("%s", jam);
i = w;
count = 0;
strcpy(tJam, jam);
while(--i >= 0){
j = i;
while(tJam[j]+1 < 'a'+t-(w-j)+1){
tJam[j] += 1;
while(++j < w){
tJam[j] = tJam[j-1]+1;
}
count ++;
printf("%s\n", tJam);
if(count == 5){
return 0;
}
j = w-1;
}
i = j;
}
return 0;
}