題目描述
有一天,小 a 的女票為了讓小 a 證明他對她的忠誠,要求小 a 生成乙個長度
為 n 的、全由小寫英文本母構成的字串,只能使用 k 種字母。要求滿足:
• 字串中相鄰的兩個字母不能相同。
• 必須出現恰好 k 種不同的字母。
這樣的合法字串可能有很多,小 a 的女票要求小 a 輸出字典序最小的那個。
小 a 太笨了,但是小 a 又不希望丟掉女票,希望你幫幫他。
輸入格式
輸入檔案只有兩個數字 n,k,含義如題。
輸出格式
輸出檔案共一行,輸出合法的字典序最小的字串。
如果不存在任意乙個合法的方案,輸出 −1。
樣例輸入
7 4
樣例輸出
ababacd
資料範圍
對於 100% 的資料,1 ≤ n ≤ 10 5 ,1 ≤ k ≤ 26
這就是一道模擬題啊。
先判斷不合法的:n< k的以及k=1且n>1的;
然後先全部搞成ababababab……然後再倒著把後面的賦成其他沒有用過的字元就可以了。
#include
#include
#include
#include
using
namespace
std;
int n,k;
char s[100009],a[2];
int main()
a[0]='a';a[1]='b';
for(int i=1;i<=n;i++)
for(int i=0;i2;i++)
puts(s+1);
return
0;}
PPY的字串 字串模擬題
siry特別喜歡數學,在他很小的時候他就對數字特別感興趣,他喜歡念數字。具體唸法是這樣的 給你乙個數字,依次唸出每個數字有幾個相鄰 siry會大聲說出a個b,c個d.組合起來形成乙個新的數字。如 2331的唸法就是1個2,2個3,1個1,形成的新數字就是122311。再念一次就是1個1,2個2,1個...
NOIP模擬 字串(字尾陣列)
給定兩個字串 s1 和 s2 兩個字串都由 26 個小寫字母中的部分字母構成。現在需要統計 s 2 在 s 1 中出現了的次數。對於 s1 中的每個位置 i 設 st rlen s2 m,若 j 1m s1 i j 1 s 2 j k 最外層中括號為布林表示式 則認為 s2 在 s1 的 i 處出現...
簡單的字串模擬題
problem 2183 簡單題 傳送門 現在有一些被簡單壓縮的字串,例如 a 120 代表120個a。對於字串acb 3 d 5 e相對於acbbbddddde 現在給你兩個字串cstring,nstring.乙個是被壓縮過的字串,另乙個沒有被壓縮。求nstring是否為cstring的子串,如果...