Submission #1477035


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(v) (v).begin(),(v).end()
#define fi first
#define se second
template<typename A, typename B> inline bool chmax(A &a, B b) { if (a<b) { a=b; return 1; } return 0; }
template<typename A, typename B> inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; }
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<int, pii> pip;
typedef pair<pll, pll> P;
const ll INF = 1ll<<29;
const ll MOD = 1000000007;
const double EPS = 1e-9;
const bool debug = 0;
//---------------------------------//

ll dp[3001][3001][2];
int N, M;

int main() {
	cin >> N >> M;
	
	FOR(i, 1, N + 1) dp[0][i][0] = 1;
	dp[0][0][1] = 1;
	
	REP(i, M) {
		REP(j, N + 1) {
			REP(k, 2) {
				if (j != 0) {
					if (j == 1) {
						(dp[i + 1][j - 1][1] += dp[i][j][k]) %= MOD;
						(dp[i + 1][j][1] += dp[i][j][k]) %= MOD;
					}
					else {
						(dp[i + 1][j - 1][k] += dp[i][j][k]) %= MOD;
						(dp[i + 1][j][k] += dp[i][j][k]) %= MOD;
					}
				}
				
				if (j != N) {
					(dp[i + 1][j + 1][k] += dp[i][j][k]) %= MOD;
					(dp[i + 1][j][k] += dp[i][j][k]) %= MOD;
				}
			}
		}
	}
	
	ll ans = 0;
	REP(i, N + 1) ans += dp[M][i][1];
	ans %= MOD;
	
	cout << ans << endl;
	
	return 0;
}

Submission Info

Submission Time
Task D - Piling Up
User tkmst201
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1391 Byte
Status AC
Exec Time 174 ms
Memory 140928 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 256 KB
sample_02.txt AC 1 ms 512 KB
sample_03.txt AC 76 ms 138880 KB
subtask_1_01.txt AC 30 ms 28800 KB
subtask_1_02.txt AC 20 ms 54016 KB
subtask_1_03.txt AC 65 ms 138624 KB
subtask_1_04.txt AC 54 ms 77184 KB
subtask_1_05.txt AC 126 ms 120960 KB
subtask_1_06.txt AC 65 ms 138624 KB
subtask_1_07.txt AC 69 ms 130176 KB
subtask_1_08.txt AC 32 ms 90752 KB
subtask_1_09.txt AC 121 ms 140032 KB
subtask_1_10.txt AC 174 ms 140928 KB
subtask_1_11.txt AC 63 ms 128000 KB
subtask_1_12.txt AC 42 ms 81024 KB
subtask_1_13.txt AC 60 ms 138496 KB
subtask_1_14.txt AC 38 ms 119424 KB
subtask_1_15.txt AC 21 ms 41984 KB
subtask_1_16.txt AC 73 ms 138880 KB
subtask_1_17.txt AC 27 ms 68352 KB
subtask_1_18.txt AC 32 ms 58496 KB
subtask_1_19.txt AC 45 ms 138112 KB
subtask_1_20.txt AC 76 ms 138880 KB
subtask_1_21.txt AC 11 ms 55680 KB
subtask_1_22.txt AC 27 ms 137728 KB
subtask_1_23.txt AC 14 ms 70016 KB
subtask_1_24.txt AC 28 ms 137728 KB
subtask_1_25.txt AC 1 ms 384 KB
subtask_1_26.txt AC 28 ms 137728 KB
subtask_1_27.txt AC 1 ms 256 KB