Submission #1835542


Source Code Expand

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fbo find_by_order
#define ook order_of_key

typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<int> vi;
typedef long double ld; 
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;
typedef set<int>::iterator sit;
typedef map<int,int>::iterator mit;
typedef vector<int>::iterator vit;
const int MOD = 1e9 + 7;
int dp[3011][3011][2];

void add(int &a, int b)
{
	a+=b;
	while(a>=MOD) a-=MOD;
}

int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0);
	ll n, m; cin>>n>>m;
	for(int i=0;i<=n;i++) 
	{
		dp[0][i][i==0] = 1;
	}
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<=n;j++)
		{
			for(int k=0;k<2;k++)
			{
				int v=dp[i][j][k];
				if(v==0) continue;
				//RR
				if(j>=1)
				{
					add(dp[i+1][j-1][k|(j-1==0)],v);
				}
				//BB
				if(j+1<=n)
				{
					add(dp[i+1][j+1][k|(j==0)],v);
				}
				//RB
				if(j-1>=0)
				{
					add(dp[i+1][j][k|(j-1==0)],v);
				}
				//BR
				if(j+1<=n)
				{
					add(dp[i+1][j][k|(j==0)],v);
				}
			}
		}
	}
	int ans=0;
	for(int i=0;i<=n;i++)
	{
		add(ans,dp[m][i][1]);
	}
	cout<<ans<<'\n';
}

Submission Info

Submission Time
Task D - Piling Up
User vjudge1
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1323 Byte
Status AC
Exec Time 229 ms
Memory 70912 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 384 KB
sample_03.txt AC 108 ms 69376 KB
subtask_1_01.txt AC 24 ms 14592 KB
subtask_1_02.txt AC 22 ms 27520 KB
subtask_1_03.txt AC 89 ms 69120 KB
subtask_1_04.txt AC 69 ms 38400 KB
subtask_1_05.txt AC 167 ms 61696 KB
subtask_1_06.txt AC 89 ms 69120 KB
subtask_1_07.txt AC 99 ms 64768 KB
subtask_1_08.txt AC 38 ms 45952 KB
subtask_1_09.txt AC 175 ms 70272 KB
subtask_1_10.txt AC 229 ms 70912 KB
subtask_1_11.txt AC 88 ms 64640 KB
subtask_1_12.txt AC 56 ms 40192 KB
subtask_1_13.txt AC 81 ms 68992 KB
subtask_1_14.txt AC 44 ms 60160 KB
subtask_1_15.txt AC 25 ms 21632 KB
subtask_1_16.txt AC 103 ms 69248 KB
subtask_1_17.txt AC 35 ms 33792 KB
subtask_1_18.txt AC 40 ms 29952 KB
subtask_1_19.txt AC 52 ms 68736 KB
subtask_1_20.txt AC 108 ms 69376 KB
subtask_1_21.txt AC 8 ms 27264 KB
subtask_1_22.txt AC 18 ms 68352 KB
subtask_1_23.txt AC 10 ms 35456 KB
subtask_1_24.txt AC 18 ms 68352 KB
subtask_1_25.txt AC 1 ms 384 KB
subtask_1_26.txt AC 19 ms 68352 KB
subtask_1_27.txt AC 1 ms 256 KB