QOJ.ac

QOJ

Time Limit: 0.6 s Memory Limit: 256 MB Total points: 100

#117. 수행

Statistics

어느 날 JOI 군은 타임머신을 얻었습니다. 그는 9세기의 일본으로 가기로 결정했습니다. 그는 당시 일본에서 가장 유명한 승려 중 한 명인 구카이(공해)를 만났습니다. 그 승려는 새로운 수행 방법을 개발하고 싶어 했습니다.

그의 수행은 다음과 같은 방식으로 이루어집니다:

  • 구카이는 $N$개의 문장으로 이루어진 불경을 읽습니다. 이 문장들은 순서가 정해져 있으며, 그는 순서대로 읽어야 합니다.
  • 각 문장에는 $1$ 이상 $N$ 이하의 정수가 하나씩 적혀 있습니다. 서로 다른 두 문장에 같은 번호가 적혀 있는 경우는 없습니다.
  • 그는 하루를 똑같이 $N$등분한 시간대 중 $i$번째 시간대에 정수 $i$ ($1 \le i \le N$)가 적힌 문장을 읽어야 합니다. 각 문장은 매우 짧아서 한 시간대에 문장 하나를 읽는 것은 언제나 가능합니다.

구카이는 가능한 한 빨리 불경 전체를 다 읽고 싶어 합니다. 그러나 다 읽는 데 며칠이 걸리는지는 불경의 문장들에 적힌 정수들에 따라 달라집니다. JOI 군은 구카이로부터 그가 최적의 방법으로 읽었을 때 다 읽는 데 정확히 $K$일이 걸리는 문장들의 정수 배치 방법의 수를 세어 달라는 부탁을 받았습니다.

과제

문장의 개수 $N$과 정수 $K$가 주어졌을 때, 구카이가 최적의 방법으로 읽었을 때 다 읽는 데 정확히 $K$일이 걸리는 문장들의 가능한 정수 배치 방법의 수를 $1\,000\,000\,007$로 나눈 나머지를 계산하십시오.

입력 형식

표준 입력에서 다음 데이터를 읽어 들이십시오.

  • 입력의 첫 번째 줄에는 $N$과 $K$가 공백 하나로 구분되어 주어집니다.

출력 형식

구카이가 최적의 방법으로 읽었을 때 다 읽는 데 정확히 $K$일이 걸리는 문장들의 가능한 정수 배치 방법의 수를 $1\,000\,000\,007$로 나눈 나머지를 출력하십시오.

제약 조건

모든 입력 데이터는 다음 조건을 만족합니다.

  • $1 \le N \le 100\,000$.
  • $1 \le K \le N$.

서브태스크

총 4개의 서브태스크가 있습니다. 각 서브태스크의 점수와 추가 제약 조건은 다음과 같습니다:

서브태스크 1 [4점]

  • $N \le 10$.

서브태스크 2 [20점]

  • $N \le 300$.

서브태스크 3 [25점]

  • $N \le 3\,000$.

서브태스크 4 [51점]

추가적인 제약 조건이 없습니다.

예제

입력 1

3 2

출력 1

4

설명

그가 다 읽는 데 2일이 걸리는 문장들의 가능한 정수 배치 방법은 4가지가 있습니다.

  • 첫 번째 문장에 1, 다음 문장에 3, 마지막 문장에 2가 적혀 있는 경우. 그는 첫째 날에 처음 두 문장(각각 1번과 3번)을 읽고, 둘째 날에 마지막 문장(2번)을 읽습니다.
  • 첫 번째 문장에 2, 다음 문장에 1, 마지막 문장에 3이 적혀 있는 경우.
  • 첫 번째 문장에 2, 다음 문장에 3, 마지막 문장에 1이 적혀 있는 경우.
  • 첫 번째 문장에 3, 다음 문장에 1, 마지막 문장에 2가 적혀 있는 경우.

입력 2

10 5

출력 2

1310354

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.