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
AC × 3
AC × 16
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