Submission #1814894


Source Code Expand

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <cmath>
#include <algorithm>
#define rep(i, a, b) for (int i = (a), _ = (b); i <= _; ++ i)
#define per(i, a, b) for (int i = (a), _ = (b); i >= _; -- i)
#define For(i, a, b) for (int i = (a), _ = (b); i < _; ++ i)
#define ri rd<int>
using namespace std;
const int maxN = 3e3 + 7;
const int mod = 1e9 + 7;

inline int pls(int x, int y) {return (x + y) % mod;}
inline int mul(int x, int y) {return 1LL * x * y % mod;}
inline int mns(int x, int y) {return pls(x, mod - y);}
inline void Add(int &x, int y) {x = pls(x, y);}
inline void Mul(int &x, int y) {x = mul(x, y);}

template<class T> inline T rd() {
	bool f = 1; char c = getchar(); for (; !isdigit(c); c = getchar()) if (c == '-') f = 0;
	T x = 0; for (; isdigit(c); c = getchar()) x = x * 10 + c - 48; return f ? x : -x;
}

int n, m;
int f[maxN][maxN][2];

inline int sp(int x) {return x == 1 || x == n;}

int main() {

	n = ri() + 1, m = ri();
	rep (i, 1, n) f[0][i][(i == 1)] = 1;
	rep (i, 1, m) rep (j, 1, n) rep (k, 0, 1) {
		rep (d, -1, 1) {
			int y = j + d;
			if (y < 1 || y > n) continue;
			if (d != 0) {
				Add(f[i][y][k | (y == 1)], f[i-1][j][k]);
			}
			else {
				Add(f[i][y][k | (j == 2)], f[i-1][j][k]);
				if (!sp(j)) Add(f[i][y][k], f[i-1][j][k]);
			}
		}
	}

	int res = 0;
	rep (i, 1, n) Add(res, f[m][i][1]);
	printf("%d\n", res);

	return 0;
}

Submission Info

Submission Time
Task D - Piling Up
User acha
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1460 Byte
Status AC
Exec Time 281 ms
Memory 70656 KB

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 104 ms 69248 KB
subtask_1_01.txt AC 47 ms 14464 KB
subtask_1_02.txt AC 21 ms 27392 KB
subtask_1_03.txt AC 83 ms 68992 KB
subtask_1_04.txt AC 78 ms 38400 KB
subtask_1_05.txt AC 202 ms 61568 KB
subtask_1_06.txt AC 84 ms 68992 KB
subtask_1_07.txt AC 95 ms 64640 KB
subtask_1_08.txt AC 34 ms 45824 KB
subtask_1_09.txt AC 187 ms 70144 KB
subtask_1_10.txt AC 281 ms 70656 KB
subtask_1_11.txt AC 83 ms 64512 KB
subtask_1_12.txt AC 56 ms 40064 KB
subtask_1_13.txt AC 75 ms 68864 KB
subtask_1_14.txt AC 39 ms 60160 KB
subtask_1_15.txt AC 29 ms 21632 KB
subtask_1_16.txt AC 98 ms 69120 KB
subtask_1_17.txt AC 33 ms 33664 KB
subtask_1_18.txt AC 43 ms 29824 KB
subtask_1_19.txt AC 46 ms 68608 KB
subtask_1_20.txt AC 104 ms 69248 KB
subtask_1_21.txt AC 6 ms 27136 KB
subtask_1_22.txt AC 14 ms 68224 KB
subtask_1_23.txt AC 8 ms 35328 KB
subtask_1_24.txt AC 14 ms 68224 KB
subtask_1_25.txt AC 1 ms 256 KB
subtask_1_26.txt AC 14 ms 68224 KB
subtask_1_27.txt AC 1 ms 128 KB