Submission #1869901
Source Code Expand
#include <cstdio>
#define iter(i, n) forw(i, 1, n)
#define iter0(i, n) for (int i = 0; i < n; ++i)
#define forw(i, a, b) for (int i = a; i <= b; ++i)
const int NR = 3010;
const int mod = 1e9 + 7;
int n, m;
int f[NR][NR][2];
inline void inc(int &x, int y) { x = (x + y) % mod; }
int main() {
scanf("%d%d", &n, &m);
//a[1] a[2] a[3]
if (n == 1) {
int ans = 2;
iter(i, m) ans = ans * 2 % mod;
printf("%d\n", ans);
return 0;
}
forw(i, 0, n) f[0][i][i == 0] = 1;
iter0(i, m) {
forw(j, 0, n) iter0(k, 2) if (f[i][j][k]) {
int w = f[i][j][k];
if (j) {
inc(f[i + 1][j][k | (j == 1)], w);
inc(f[i + 1][j - 1][k | (j == 1)], w);
}
if (j < n) {
inc(f[i + 1][j][k], w);
inc(f[i + 1][j + 1][k], w);
}
}
}
int ans = 0;
forw(j, 0, n) inc(ans, f[m][j][1]);
printf("%d\n", ans);
return 0;
}
Submission Info
Submission Time
2017-12-14 09:21:54+0900
Task
D - Piling Up
User
Ketsui
Language
C++14 (GCC 5.4.1)
Score
900
Code Size
882 Byte
Status
AC
Exec Time
168 ms
Memory
70784 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:16:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &n, &m);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
900 / 900
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, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt
Case Name
Status
Exec Time
Memory
sample_01.txt
AC
1 ms
128 KB
sample_02.txt
AC
1 ms
256 KB
sample_03.txt
AC
76 ms
69248 KB
subtask_1_01.txt
AC
24 ms
14464 KB
subtask_1_02.txt
AC
18 ms
27392 KB
subtask_1_03.txt
AC
64 ms
68992 KB
subtask_1_04.txt
AC
51 ms
38400 KB
subtask_1_05.txt
AC
123 ms
61568 KB
subtask_1_06.txt
AC
63 ms
68992 KB
subtask_1_07.txt
AC
69 ms
64640 KB
subtask_1_08.txt
AC
29 ms
45824 KB
subtask_1_09.txt
AC
124 ms
70144 KB
subtask_1_10.txt
AC
168 ms
70784 KB
subtask_1_11.txt
AC
62 ms
64640 KB
subtask_1_12.txt
AC
41 ms
40064 KB
subtask_1_13.txt
AC
58 ms
68992 KB
subtask_1_14.txt
AC
33 ms
60160 KB
subtask_1_15.txt
AC
20 ms
21632 KB
subtask_1_16.txt
AC
72 ms
69120 KB
subtask_1_17.txt
AC
25 ms
33664 KB
subtask_1_18.txt
AC
29 ms
29824 KB
subtask_1_19.txt
AC
39 ms
68608 KB
subtask_1_20.txt
AC
76 ms
69248 KB
subtask_1_21.txt
AC
1 ms
128 KB
subtask_1_22.txt
AC
1 ms
128 KB
subtask_1_23.txt
AC
10 ms
35328 KB
subtask_1_24.txt
AC
18 ms
68224 KB
subtask_1_25.txt
AC
1 ms
256 KB
subtask_1_26.txt
AC
17 ms
68224 KB
subtask_1_27.txt
AC
1 ms
128 KB