| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 (추가 시간 없음) | 1024 MB (추가 메모리 없음) | 30 | 26 | 21 | 87.500% |
할 일이 없어진 밍구는 복사 붙여넣기 놀이를 하고 있다! 복사 붙여넣기 놀이는 파일을 복사 붙여넣기하면서 생기는 이름을 살펴보는 놀이이다.
파일의 이름은 0 이상 2w 미만의 정수로 이루어진 길이 1 이상의 수열이다. 한 번의 복사 붙여넣기는 다음 절차로 이루어진다.
예를 들어, w = 2이고, 폴더에 파일이 [0] 하나만 있을 때 복사 붙여넣기를 반복하면 폴더의 내용물은 다음과 같이 변한다.
복사 붙여넣기 고수 밍구는 여러분에게 다음과 같은 문제를 주었다. 폴더에 파일이 [0] 하나만 있는 상황에서 K번 복사 붙여넣기를 했을 때, 밍구가 주는 파일의 이름 A가 사전 순으로 몇 번째에 위치하는지 구하는 것이다!
밍구를 위해 A가 사전 순으로 위치하는 순서를 998 244 353으로 나눈 나머지를 구해주자!
첫째 줄에 정수 w, K가 공백으로 구분되어 주어진다. (1 ≤ w ≤ 60; 1 ≤ K ≤ 100 000)
둘째 줄에 찾고자 하는 파일의 이름 A의 길이 N이 주어진다. (1 ≤ N ≤ 100 000)
셋째 줄에 A의 i번째 원소 Ai들이 공백으로 구분되어 주어진다. (1 ≤ i ≤ N; 0 ≤ Ai < 2w)
복사 붙여넣기를 K번 했을 때 A의 이름을 가지는 파일이 존재하는 경우만 입력으로 주어진다.
사전순으로 가장 앞서는 파일의 순서를 1이라고 할 때, A가 사전순으로 위치하는 순서를 998 244 353으로 나눈 나머지를 출력한다.
2 2 3 0 0 0
3
2 2 1 3
10
60 2024 4 998244353 1000000007 3141592653 2718281828
62474228
수열 a = [a1, a2, ⋯, an]이 수열 b = [b1, b2, ⋯, bm]보다 사전순으로 앞선다는 것은 다음을 모두 만족시키는 양의 정수 i가 존재한다는 뜻이다.
University > 전국 대학생 프로그래밍 대회 동아리 연합 > UCPC 2024 예선 연습 세션 PB번