2023年分割槽聯賽普級組之三 JAM計數法(模擬)

2021-08-01 12:11:39 字數 1437 閱讀 8014

description

jam 是個喜歡標新立異的科學怪人,他不使用阿拉伯數字計數,而是使用小寫英文本母計數,他覺得這樣做,會使世界更加豐富多彩。在他的計數法中,每個數字的位數都是相同的(使用相同個數的字母),英文本母按原先的順序,排在前面的字母小於排在它後面的字母。我們把這樣的「數字」成為jam 數字。在jam 數字中,每個字母互不相同,而且從左到右都是嚴格遞增的。每次,jam 還指定使用字母的範圍,如從2 到10,表示只能使用這些字母。如果再規定位數為5,那麼,緊接在jam 數字「bdfij」與「bdghi」, 則u < v,且不存在jam 數字p,使u < p < v)。你的任務是:對於從檔案中讀入的乙個jam 數字,按順序輸出緊接在後面的5 個jam 數字,如果後面沒那麼多jam 數字,那麼有幾個就輸出幾個。

input

輸入有2 行,第1 行為3 個正整數,用乙個空格隔開:s t w(其中s 為所使用的最小字母的序號,t 為所使用的最大的字母序號。w 為數字的位數,這3 個數滿足:1≤s < t ≤26,2≤w≤t-s)

第二行為具有w 個小寫字母的字串,為乙個符合要求的jam 數字。所給的資料都是正確的,不必驗證。

output

輸出最多為5 行,為緊接在輸入的jam 數字後面的5 個jam 數字,如果後面沒有那麼多jam 數字,那麼有幾個就輸出幾個。每行只輸出乙個jam 數字,是由w 個小寫字母組成的字串,不要有多餘的空格。

sample input

2 10 5

bdfij

sample output

bdghi

bdghj

bdgij

bdhij

befgh

分析:按要求模擬就行,詳情見**。

**

var

s,t,w,i,j,k,l:longint;

a:array[0..26] of longint;

ch:char;

begin

readln(s,t,w);

for i:=1

to w do

begin

read(ch);

a[i]:=ord(ch)-96;

end;

for i:=1to5

dobegin

k:=w;

while (a[k]+1>t) or (a[k]+w-k+1>t) do dec(k);

inc(a[k]);

for l:=k+1

to w do a[l]:=a[l-1]+1;

if k=0

then halt;

for j:=1

to w do

write(chr(a[j]+96));

writeln;

end;

end.

2023年分割槽聯賽普級組之三 採藥

description 辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間...

2023年分割槽聯賽普級組之三 乘積最大

2000年分割槽聯賽普級組之三 乘積最大 time limit 1000ms memory limit 65536k total submit 222 accepted 146 description 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅...

2023年分割槽聯賽普級組之三 乘積最大

2000年分割槽聯賽普級組之三 乘積最大 time limit 1000ms memory limit 65536k total submit 229 accepted 153 description 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅...