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