Submission #1513492
Source Code Expand
#include<bits/stdc++.h> using namespace std; typedef long long int64; const int mod = 1e9 + 7; int dp[301][301][301]; int N, M; int64 rec(int idx, int connect, int add) { if(idx == M) return (connect == N); if(~dp[idx][connect][add]) return (dp[idx][connect][add]); int64 ret = 0; if(connect + add + 1 <= N) ret += rec(idx + 1, connect, add + 1) * (N - connect - add) % mod; if(add > 0) ret += rec(idx + 1, connect, add) * add % mod; ret += rec(idx + 1, connect + add, 0) * connect % mod; ret %= mod; return (dp[idx][connect][add] = ret); } int main() { cin >> N >> M; memset(dp, -1, sizeof(dp)); cout << rec(0, 1, 0) << endl; }
Submission Info
Submission Time | |
---|---|
Task | F - Road of the King |
User | ei13333 |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 684 Byte |
Status | AC |
Exec Time | 169 ms |
Memory | 106752 KB |
Judge Result
Set Name | sample | all | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1000 / 1000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt, sample-03.txt |
all | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 27 ms | 106752 KB |
01-02.txt | AC | 27 ms | 106752 KB |
01-03.txt | AC | 27 ms | 106752 KB |
01-04.txt | AC | 27 ms | 106752 KB |
01-05.txt | AC | 27 ms | 106752 KB |
01-06.txt | AC | 56 ms | 106752 KB |
01-07.txt | AC | 165 ms | 106752 KB |
01-08.txt | AC | 169 ms | 106752 KB |
01-09.txt | AC | 167 ms | 106752 KB |
01-10.txt | AC | 166 ms | 106752 KB |
sample-01.txt | AC | 27 ms | 106752 KB |
sample-02.txt | AC | 97 ms | 106752 KB |
sample-03.txt | AC | 44 ms | 106752 KB |