Submission #1839675


Source Code Expand

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<ctime>
#include<utility>
#include<cmath>
#include<functional>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
void sort(int &a,int &b)
{
	if(a>b)
		swap(a,b);
}
void open(const char *s)
{
#ifndef ONLINE_JUDGE
	char str[100];
	sprintf(str,"%s.in",s);
	freopen(str,"r",stdin);
	sprintf(str,"%s.out",s);
	freopen(str,"w",stdout);
#endif
}
int rd()
{
	int s=0,c;
	while((c=getchar())<'0'||c>'9');
	do
	{
		s=s*10+c-'0';
	}
	while((c=getchar())>='0'&&c<='9');
	return s;
}
int upmin(int &a,int b)
{
	if(b<a)
	{
		a=b;
		return 1;
	}
	return 0;
}
int upmax(int &a,int b)
{
	if(b>a)
	{
		a=b;
		return 1;
	}
	return 0;
}
int f[3010][3010][2];
const int p=1000000007;
void add(int &a,int b)
{
	a=(a+b)%p;
}
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	int i,j,k;
	f[0][0][1]=1;
	for(i=1;i<=n;i++)	
		f[0][i][0]=1;
	for(i=0;i<m;i++)
		for(j=0;j<=n;j++)
			for(k=0;k<=1;k++)
				if(f[i][j][k])
				{
					if(j)
					{
						add(f[i+1][j][k|(j==1)],f[i][j][k]);
						add(f[i+1][j-1][k|(j==1)],f[i][j][k]);
					}
					if(n-j)
					{
						add(f[i+1][j][k],f[i][j][k]);
						add(f[i+1][j+1][k],f[i][j][k]);
					}
				}
	int ans=0;
	for(i=0;i<=n;i++)
		add(ans,f[m][i][1]);
	printf("%d\n",ans);
	return 0;
}

Submission Info

Submission Time
Task D - Piling Up
User yww
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1451 Byte
Status AC
Exec Time 155 ms
Memory 70784 KB

Compile Error

./Main.cpp: In function ‘void open(const char*)’:
./Main.cpp:24:24: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
  freopen(str,"r",stdin);
                        ^
./Main.cpp:26:25: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
  freopen(str,"w",stdout);
                         ^
./Main.cpp: In function ‘int main()’:
./Main.cpp:67:21: 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 70 ms 69248 KB
subtask_1_01.txt AC 22 ms 14464 KB
subtask_1_02.txt AC 15 ms 27392 KB
subtask_1_03.txt AC 58 ms 68992 KB
subtask_1_04.txt AC 46 ms 38400 KB
subtask_1_05.txt AC 113 ms 61568 KB
subtask_1_06.txt AC 58 ms 68992 KB
subtask_1_07.txt AC 63 ms 64640 KB
subtask_1_08.txt AC 25 ms 45824 KB
subtask_1_09.txt AC 114 ms 70144 KB
subtask_1_10.txt AC 155 ms 70784 KB
subtask_1_11.txt AC 57 ms 64512 KB
subtask_1_12.txt AC 36 ms 40064 KB
subtask_1_13.txt AC 53 ms 68992 KB
subtask_1_14.txt AC 29 ms 60160 KB
subtask_1_15.txt AC 18 ms 21632 KB
subtask_1_16.txt AC 66 ms 69248 KB
subtask_1_17.txt AC 23 ms 33664 KB
subtask_1_18.txt AC 27 ms 29824 KB
subtask_1_19.txt AC 35 ms 68608 KB
subtask_1_20.txt AC 70 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 7 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