第 032 场 AtCoder Beginner Contest
翻译中…
Problem Statement
翻译中…
高橋君の会社には、秘密の金庫があります。この金庫にはパスワードをかけているのですが、高橋君はそのパスワードを忘れてしまいました。 しかし、幸運なことに、手元にはパスワードのヒントが以下のように書かれていました。
翻译中…
- パスワードは、この紙に書かれている文字列
$s$の長さ$k$の部分文字列(※)のどれかである。
翻译中…
高橋君は、ありうるパスワードを全部試せば金庫を開けられる!と喜びました。 しかし、文字列 $s$ はとても長い可能性があるし、しかも同じ部分文字列が複数個文字列 $s$ 中に存在する可能性もあります。明らかに、重複したパスワードを繰り返し試す必要はありません。 そこで、手動で全てのパスワードを試す前に、試す必要がある異なるパスワードの数がいくつあるかを数えることにしました。
翻译中…
あなたの仕事は、文字列 $s$ の内容が与えられるので、試す必要がある異なるパスワードの数がいくつあるかを高橋君に教えてあげることです。
翻译中…
(※)文字列 $s$ の「部分文字列」とは、文字列 $s$ に含まれるある区間を取り出した文字列のことです。 例えば、abc の部分文字列として a,b,c,ab,bc,abc などが挙げられます。 ac や ba などは部分文字列ではないことに注意してください。
翻译中…
Input
翻译中…
入力は以下の形式で標準入力から与えられる。
翻译中…
s
k
翻译中…
$1$行目には、ヒントの紙に書かれている文字列$s (1≦|s|≦300)$が与えられる。$s$は英小文字(a-z)のみから成る。$|s|$は文字列$s$の長さを表す。$2$行目には、パスワードとしてありうる整数$k (1≦k≦300)$が与えられる。$k$は$|s|$よりも大きいことがある。
翻译中…
Output
翻译中…
出力は以下の形式で標準出力に行うこと。
翻译中…
$1$ 行目に、パスワードとして考えられる文字列の数を出力せよ。末尾の改行を忘れないこと。
翻译中…
样例
Input #1
abcabc
2
Output #1
3
パスワードとしてありうる部分文字列の集合は、{`ab`,`bc`,`ca`} です。
Input #2
aaaaa
1
Output #2
1
パスワードとしてありえる部分文字列は、`a` のみです。
Input #3
hello
10
Output #3
0
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。