Submission #5484774
Source Code Expand
#include<stdio.h>
#include<stdlib.h>
#include<stdint.h>
#include<inttypes.h>
typedef int32_t i32;
typedef int64_t i64;
const i32 mod = 1000000007;
#define POS(i, j, k) ((((i) & 1) * (n + 1) + (j)) * (n + 1) + (k))
void run (void) {
i32 n, m;
scanf ("%" SCNi32 "%" SCNi32, &n, &m);
i32 *dp = (i32 *) calloc (2 * (n + 1) * (n + 1), sizeof (i32));
dp[POS(0, n, 0)] = 1;
for (i32 i = 1; i <= m; ++i) {
for (i32 j = 1; j <= n; ++j) {
for (i32 k = 0; k <= n - j; ++k) {
i64 local = (i64) j * dp[POS(i - 1, j + k, 0)];
if (k > 0) local += (i64) k * dp[POS(i - 1, j, k)];
if (n - j - k > 0) local += (i64) (n - j - k) * dp[POS(i - 1, j, k + 1)];
dp[POS(i, j, k)] = local % mod;
}
}
}
printf ("%" PRIi32 "\n", dp[POS(m, 1, 0)]);
}
int main (void) {
run();
return 0;
}
Submission Info
Submission Time
2019-05-20 04:27:21+0900
Task
F - Road of the King
User
sansen
Language
C (GCC 5.4.1)
Score
1000
Code Size
868 Byte
Status
AC
Exec Time
48 ms
Memory
896 KB
Compile Error
./Main.c: In function ‘run’:
./Main.c:15:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf ("%" SCNi32 "%" SCNi32, &n, &m);
^
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
128 KB
01-02.txt
AC
1 ms
128 KB
01-03.txt
AC
1 ms
128 KB
01-04.txt
AC
1 ms
896 KB
01-05.txt
AC
1 ms
128 KB
01-06.txt
AC
5 ms
256 KB
01-07.txt
AC
45 ms
768 KB
01-08.txt
AC
47 ms
896 KB
01-09.txt
AC
48 ms
896 KB
01-10.txt
AC
48 ms
896 KB
sample-01.txt
AC
1 ms
128 KB
sample-02.txt
AC
13 ms
384 KB
sample-03.txt
AC
24 ms
896 KB