NOIP 模擬題 奇怪的字串

2021-08-09 18:03:51 字數 891 閱讀 8496

題目描述

有一天,小 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的子串,如果...