Contents
Problem
給可使用的字母和字串順序,求出要求的 hard 字串。
p.s. 每4個字元一組,每16組一列。
Solution
要注意 n 不是長度是順序。
ex.
3 2
ABA
4 2
B
5 2
BA
6 2
BAB
至於比較的部分,則是從新增的字元開始依序向前增長比較。
從長度為 1 的後綴到長度為 目前長度/2 的字串一一比較其相鄰子字串,都不相同才為 hard。
max = idx >> 1
for (int len = 1; len <= max; len++)
{
hard = false;
for (j = 0; j < len; j++)
if (ans[idx - j] != ans[idx - len - j])
{
hard = true;
break;
}
if (!hard)
break;
}
Code
1 |
|