문제
어떤 문자열 $s$에 대해 $s^{\prime}$은 $s$를 뒤집은 문자열이다. 두 문자열 $p$와 $q$에 대해 $p+q$는 두 문자열을 차례로 이어 붙인 문자열이다.
길이 $N$의 알파벳 소문자로만 이루어진 문자열 $S$에 대해 길이 $i$의 접두사를 $A_i$, 길이 $i$의 접미사를 $B_i$라고 하자. $f(S)$는 $A^{\prime}_i + B_{N-i} = A_i + B^{\prime}_{N-i}$을 만족하는 $i(1 \leq i < N)$의 개수로 정의한다.
$N$과 $K$가 주어질 때, $f(S) = K$인 문자열 $S$를 구해보자.
입력
첫째 줄에 $N$과 $K$가 공백으로 구분되어 주어진다. $(2 \leq N \leq 200\,000$; $0 \leq K < N)$
출력
첫째 줄에 $f(S) = K$인 문자열 $S$가 존재한다면 Yes, 아니라면 No를 출력한다.
만약 $S$가 존재한다면 둘째 줄에 가능한 $S$를 아무거나 하나 출력한다.
예제 입력 1
6 4
예제 출력 1
No
예제 입력 2
6 1
예제 출력 2
Yes gggkik
예제 입력 3
7 6
예제 출력 3
Yes aaaaaaa
노트
문자열 $S$의 길이 $i$의 접두사는, $S$의 앞에서부터 $i$개를 순서대로 이어붙인 문자열이다. 예를 들어 abcde의 길이 3의 접두사는 abc이다.
문자열 $S$의 길이 $i$의 접미사는, $S$의 뒤에서부터 $i$개를 순서대로 이어붙인 문자열이다. 예를 들어 abcde의 길이 2의 접미사는 de이다.
출처
Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2024. 10. B번
- 문제를 만든 사람: gggkik
- 문제를 검수한 사람: chogahui05, snrnsidy, utilforever