Title Description
Jam is a science geek who likes to be unconventional. He does not use Arabic numerals, but uses lowercase English letters to count, and he feels that doing so will make the world more colorful. In his notation, the digits of each digit are the same (using the same number of letters), the letters are in the original order, the letters in front of them are smaller than the letters that follow them. We call this "number" jam numbers. In jam numbers, each letter differs from left to right and is strictly incremented. Each time, jam also specifies the range of letters used, for example, from 2 to 10, which means that only {B,C,D,E,F,G,H,I,J} letters can be used. If the number of digits is 5, then the number immediately after the jam number "Bdfij" should be "Bdghi". (If we use U, V to indicate jam number "Bdfij" and "Bdghi", then u<v, and there is no jam number P, so u<p<v). Your task is: For a jam number read from the file, sequentially output the 5 jam numbers immediately following, if there are not so many jam numbers, then a few will output a few.
Input Format
The input has 2 lines, the 1th Act 3 positive integers, separated by a space:
S T W
(where S is the ordinal of the smallest letter used, T is the ordinal of the largest letter used.) W is the number of digits, these 3 numbers satisfy: 1≤s<t≤26, 2≤w≤t-s)
The 2nd behavior has a W lowercase string, which is a required jam number.
The data given is correct and does not have to be verified.
output Format
The output is up to 5 rows, which is the 5 jam numbers immediately following the input jam number, and if there are not so many jam numbers behind, then a few will output. Each line only outputs one jam number, which is a string of W lowercase letters and no extra spaces.
Sample input:
2 10 5
Bdfij
Sample output:
Bdghi
Bdghj
Bdgij
Bdhij
Befgh
Algorithm analysis: Regular problem, recursive solution.
1#include <stdio.h>2 ints,t,w;3 Chara[ -];4 intJiayi (intm)5 {6 if(m<0){return 0;}7 if((a[m]+=1) >'a'+t-(wm))8 {9 if(Jiayi (M-1)==0)Ten return 0; One if(m==0) Aa[m]='a'+s-1; - Elsea[m]=a[m-1]+1; - the } - return 1; - } - intMain () + { - inti; +scanf" %d%d%d",&s,&t,&W); Ascanf"%s", a); at for(i=1; i<=5; i++) - { - if(Jiayi (W1)) -printf"%s\n", a); - } - return 0; in}
View Code
The counting method of jam in Blue Bridge Cup