Submission #5790190
Source Code Expand
#include <iostream> #include <vector> using namespace std; typedef long long ll; const ll MOD = 1000000007; int main() { int N, M; cin >> N >> M; vector<vector<vector<ll>>> dp(M+1, vector<vector<ll>>(N+1, vector<ll>(N+1, 0))); dp[0][N-1][1] = 1; for(int m=0;m<M;++m) { for(int x=0;x<N;++x) { for(int y=1;y<=N-x;++y) { if(!dp[m][x][y]) continue; if(x) (dp[m+1][x-1][y] += (dp[m][x][y] * x) % MOD) %= MOD; (dp[m+1][x][y] += (dp[m][x][y] * (N-x-y)) % MOD) %= MOD; (dp[m+1][x][N-x] += (dp[m][x][y] * y) % MOD) %= MOD; } } } cout << dp[M][0][N] << endl; }
Submission Info
Submission Time | |
---|---|
Task | F - Road of the King |
User | Noimin |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 717 Byte |
Status | AC |
Exec Time | 172 ms |
Memory | 216832 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 | 1 ms | 256 KB |
01-02.txt | AC | 1 ms | 256 KB |
01-03.txt | AC | 1 ms | 256 KB |
01-04.txt | AC | 2 ms | 2432 KB |
01-05.txt | AC | 2 ms | 640 KB |
01-06.txt | AC | 22 ms | 20480 KB |
01-07.txt | AC | 162 ms | 202112 KB |
01-08.txt | AC | 169 ms | 214016 KB |
01-09.txt | AC | 171 ms | 216192 KB |
01-10.txt | AC | 172 ms | 216832 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 57 ms | 55424 KB |
sample-03.txt | AC | 69 ms | 109312 KB |