Submission #2666127
Source Code Expand
#include <bits/stdc++.h> using namespace std; using ll = long long; ll dp[303][303][303]; ll mod = 1e9 + 7; int main() { int n, m; while(cin >> n >> m) { memset(dp, 0, sizeof(dp)); dp[0][1][1] = 1; for(int i = 0; i < m; ++i) { for(int j = 1; j <= n; ++j) { for(int k = 1; k <= j; ++k) { (dp[i+1][j][j] += dp[i][j][k]*k%mod) %= mod; // 頂点1と強連結な頂点に移動 (dp[i+1][j][k] += dp[i][j][k]*(j-k)) %= mod; // 頂点1から片方向連結な頂点に移動 (dp[i+1][j+1][k] += dp[i][j][k]*(n-j)) %= mod; // 頂点1と非連結な頂点に移動 } } } cout << dp[m][n][n] << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Road of the King |
User | ukuku09 |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 716 Byte |
Status | AC |
Exec Time | 590 ms |
Memory | 217600 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 | 55 ms | 217600 KB |
01-02.txt | AC | 54 ms | 217600 KB |
01-03.txt | AC | 55 ms | 217600 KB |
01-04.txt | AC | 57 ms | 217600 KB |
01-05.txt | AC | 56 ms | 217600 KB |
01-06.txt | AC | 105 ms | 217600 KB |
01-07.txt | AC | 554 ms | 217600 KB |
01-08.txt | AC | 582 ms | 217600 KB |
01-09.txt | AC | 585 ms | 217600 KB |
01-10.txt | AC | 590 ms | 217600 KB |
sample-01.txt | AC | 55 ms | 217600 KB |
sample-02.txt | AC | 193 ms | 217600 KB |
sample-03.txt | AC | 321 ms | 217600 KB |