[BOJ 29732] Rick-Roll Virus
View as PDF
Submit solution
Points:
1
Time limit:
2.0s
Memory limit:
1G
Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
2033년, 하루나라에서 밈 1위를 결정하고자 하는 투표에서 Rick Astley가 우승함과 동시에 하루나라에서 Rick-Roll Virus가 전염되고 있다. 이 바이러스에 감염되면 항상 Never gonna give you up을 흥얼거리기 때문에 haru_202는 이 바이러스를 막으려고 한다.</p>
하루나라에 사는 $N$명의 사람들은 일직선상에서 연속적으로 인접하여 살아가고 있으며, $x=i$에 위치한 감염자는 $1$일 뒤 바이러스를 $x = \max(1, i-K)$, $\cdots$, $i$, $\cdots$, $\min(N, i+K)$에 있는 사람들에게 전염시킨다.
$1$일 뒤, haru_202가 치료제 $M$개를 사용하여 Rick-Roll Virus에 감염된 사람을 모두 치료할 수 있는가? 단, 치료제는 $1$명에게 $1$개씩만 사용할 수 있다.
입력 형식
첫 번째 줄에 정수 $N$, $M$, $K$가 공백으로 구분되어 주어진다. $(1 \leq N \leq 10\,000;$ $0 < M \leq N;$ $0 \leq K \leq \lfloor\frac{N}{2}\rfloor)$</p>
두 번째 줄에 사람들의 감염 상태를 나타내는 길이 $N$의 문자열 $S$가 주어진다. $S_i$는 $x=i$에 위치한 사람의 감염상태를 나타내며, 다음과 같다. $(1 \leq i \leq N)$
.: 감염되지 않음R: 감염됨
$1$일 뒤 Rick-Roll Virus에 감염된 사람들을 $M$개의 치료제로 모두 치료할 수 있으면 Yes, 아니면 No를 출력한다.
예제 입력 1
5 3 1
..R..
예제 출력 1
Yes
예제 입력 2
10 1 1
RRRRRRRRRR
예제 출력 2
No
Comments