Submission #2543657


Source Code Expand

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
#include<map>
#include<queue>
using namespace std;
typedef long long LL;
#define sqr(x) ((x)*(x))
#define mp make_pair
inline char gc(){
    static char buf[100000],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}
#define gc getchar
inline int read(){
	int x = 0; char ch = gc(); bool positive = 1;
	for (; !isdigit(ch); ch = gc())	if (ch == '-')	positive = 0;
	for (; isdigit(ch); ch = gc())	x = x * 10 + ch - '0';
	return positive ? x : -x;
}
inline void write(int a){
    if(a>=10)write(a/10);
    putchar('0'+a%10);
}
inline void writeln(int a){
    if(a<0){
    	a=-a; putchar('-');
	}
	write(a); puts("");
}
const int N=3005,mod=1000000007;
int n,m,dp[N][N][2],ans;
inline void add(int &a,int b){
	a=a+b>=mod?a+b-mod:a+b;
}
int main(){
	n=read(); m=read();
	dp[0][0][0]=1;
	for(int i=1;i<=n;i++)dp[0][i][1]=1;
	for(int i=0;i<m;i++){	
		for(int j=0;j<=n;j++){
			for(int k=0;k<2;k++){
				if(j<n){add(dp[i+1][j+1][k],dp[i][j][k]); add(dp[i+1][j][k],dp[i][j][k]);}
				if(j){add(j==1?dp[i+1][j-1][0]:dp[i+1][j-1][k],dp[i][j][k]); add(j==1?dp[i+1][j][0]:dp[i+1][j][k],dp[i][j][k]);}
			}
			//cout<<i<<" "<<j<<" "<<dp[i][j][0]<<" "<<dp[i][j][1]<<endl;
		}
	}
	ans=dp[m][0][1];
	for(int i=0;i<=n;i++)add(ans,dp[m][i][0]);
	cout<<ans<<endl;
}

Submission Info

Submission Time
Task D - Piling Up
User wzp
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1448 Byte
Status AC
Exec Time 140 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 256 KB
sample_02.txt AC 1 ms 384 KB
sample_03.txt AC 62 ms 69248 KB
subtask_1_01.txt AC 20 ms 14592 KB
subtask_1_02.txt AC 14 ms 27520 KB
subtask_1_03.txt AC 52 ms 69120 KB
subtask_1_04.txt AC 43 ms 38400 KB
subtask_1_05.txt AC 102 ms 61696 KB
subtask_1_06.txt AC 52 ms 69120 KB
subtask_1_07.txt AC 57 ms 64768 KB
subtask_1_08.txt AC 24 ms 45952 KB
subtask_1_09.txt AC 102 ms 70144 KB
subtask_1_10.txt AC 140 ms 70656 KB
subtask_1_11.txt AC 51 ms 64640 KB
subtask_1_12.txt AC 33 ms 40064 KB
subtask_1_13.txt AC 48 ms 68992 KB
subtask_1_14.txt AC 27 ms 60160 KB
subtask_1_15.txt AC 17 ms 21632 KB
subtask_1_16.txt AC 59 ms 69248 KB
subtask_1_17.txt AC 21 ms 33792 KB
subtask_1_18.txt AC 25 ms 29952 KB
subtask_1_19.txt AC 32 ms 68608 KB
subtask_1_20.txt AC 62 ms 69248 KB
subtask_1_21.txt AC 6 ms 27264 KB
subtask_1_22.txt AC 14 ms 68352 KB
subtask_1_23.txt AC 8 ms 35456 KB
subtask_1_24.txt AC 15 ms 68352 KB
subtask_1_25.txt AC 1 ms 384 KB
subtask_1_26.txt AC 15 ms 68352 KB
subtask_1_27.txt AC 1 ms 256 KB