5351 : B52 - 공 시뮬레이션
•시간제한: 2.000 S
•메모리제한: 1024 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
$ N $ 개의 공이 일렬로 놓여 있습니다. 이 공들의 초기 색상은 문자열 $ A $ 로 주어집니다.
$ i $ 번째 공의 색상은 $ A $ 의 $ i $ 번째 문자로 나타내며, 검은색은 '#', 흰색은 '.'입니다.
다음 시뮬레이션을 수행한 후의 최종적인 공들의 색상을 구하십시오.
1. 큐에 정수 $ X $ 를 추가하고, $ X $ 번째 공을 파란색으로 칠한다.
2. 큐가 빌 때까지 다음 조작을 반복한다.
- 큐의 맨 앞 요소($ pos $)를 꺼낸다.
- $ pos-1 $ 번째 공이 흰색이면 파란색으로 칠하고 큐에 $ pos-1 $ 을 추가한다.
- $ pos+1 $ 번째 공이 흰색이면 파란색으로 칠하고 큐에 $ pos+1 $ 을 추가한다.
[제약 조건]
• $1 \le N \le 100,000$
• $1 \le X \le N$
• $A$ 는 #. 로 이루어진 문자열입니다.
• 공 $X$ 는 흰 공입니다.
$ i $ 번째 공의 색상은 $ A $ 의 $ i $ 번째 문자로 나타내며, 검은색은 '#', 흰색은 '.'입니다.
다음 시뮬레이션을 수행한 후의 최종적인 공들의 색상을 구하십시오.
1. 큐에 정수 $ X $ 를 추가하고, $ X $ 번째 공을 파란색으로 칠한다.
2. 큐가 빌 때까지 다음 조작을 반복한다.
- 큐의 맨 앞 요소($ pos $)를 꺼낸다.
- $ pos-1 $ 번째 공이 흰색이면 파란색으로 칠하고 큐에 $ pos-1 $ 을 추가한다.
- $ pos+1 $ 번째 공이 흰색이면 파란색으로 칠하고 큐에 $ pos+1 $ 을 추가한다.
[제약 조건]
• $1 \le N \le 100,000$
• $1 \le X \le N$
• $A$ 는 #. 로 이루어진 문자열입니다.
• 공 $X$ 는 흰 공입니다.
입력 설명
첫째 줄에 $ N, X $ 가 주어집니다.
둘째 줄에 문자열 $ A $ 가 주어집니다.
둘째 줄에 문자열 $ A $ 가 주어집니다.
출력 설명
최종적인 공의 상태를 출력하십시오. (파란색은 '@'로 표시)
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5 3
#...#
출력 예시
COPY
복사되었습니다!
복사되었습니다!
#@@@#