Submission #1869259
Source Code Expand
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
const int N=3009;
const int md=1e9+7;
int n,m;
int f[N][N][2];
inline void add(int &a,int b)
{
if(b>=md)b-=md;
a+=b;
if(a>=md)a-=md;
}
int main()
{
if(fopen("friend.in","r"))
{
freopen("friend.in","r",stdin);
freopen("friend.out","w",stdout);
}
scanf("%d%d",&n,&m);
memset(f,0,sizeof(f));
for(int i=1;i<=n;i++)
f[0][i][0]=1;
f[0][0][1]=1;
for(int i=0;i<m;i++)
{
for(int j=0;j<=n;j++)
{
if(j==0)
{
add(f[i+1][j][1],f[i][j][1]);
add(f[i+1][j+1][1],f[i][j][1]);
}
else if(j==1)
{
add(f[i+1][j][1],f[i][j][0]+f[i][j][1]);
if(j<n)
{
add(f[i+1][j][0],f[i][j][0]);
add(f[i+1][j][1],f[i][j][1]);
add(f[i+1][j+1][0],f[i][j][0]);
add(f[i+1][j+1][1],f[i][j][1]);
}
add(f[i+1][j-1][1],f[i][j][0]+f[i][j][1]);
}
else if(j==n)
{
for(int k=0;k<=1;k++)
{
add(f[i+1][j][k],f[i][j][k]);
add(f[i+1][j-1][k],f[i][j][k]);
}
}
else
{
for(int k=0;k<=1;k++)
{
add(f[i+1][j][k],f[i][j][k]*2);
add(f[i+1][j-1][k],f[i][j][k]);
add(f[i+1][j+1][k],f[i][j][k]);
}
}
}
}
int ans=0;
for(int 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 |
xzkkjm_ |
Language |
C++14 (GCC 5.4.1) |
Score |
900 |
Code Size |
1395 Byte |
Status |
AC |
Exec Time |
167 ms |
Memory |
71040 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:26:33: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
freopen("friend.in","r",stdin);
^
./Main.cpp:27:35: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
freopen("friend.out","w",stdout);
^
./Main.cpp:30: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 |
|
|
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 |
19 ms |
70912 KB |
sample_02.txt |
AC |
19 ms |
71040 KB |
sample_03.txt |
AC |
77 ms |
71040 KB |
subtask_1_01.txt |
AC |
36 ms |
70912 KB |
subtask_1_02.txt |
AC |
29 ms |
70912 KB |
subtask_1_03.txt |
AC |
64 ms |
71040 KB |
subtask_1_04.txt |
AC |
59 ms |
70912 KB |
subtask_1_05.txt |
AC |
125 ms |
71040 KB |
subtask_1_06.txt |
AC |
65 ms |
70912 KB |
subtask_1_07.txt |
AC |
71 ms |
70912 KB |
subtask_1_08.txt |
AC |
35 ms |
70912 KB |
subtask_1_09.txt |
AC |
123 ms |
71040 KB |
subtask_1_10.txt |
AC |
167 ms |
71040 KB |
subtask_1_11.txt |
AC |
64 ms |
70912 KB |
subtask_1_12.txt |
AC |
48 ms |
71040 KB |
subtask_1_13.txt |
AC |
59 ms |
71040 KB |
subtask_1_14.txt |
AC |
37 ms |
70912 KB |
subtask_1_15.txt |
AC |
32 ms |
71040 KB |
subtask_1_16.txt |
AC |
74 ms |
70912 KB |
subtask_1_17.txt |
AC |
35 ms |
71040 KB |
subtask_1_18.txt |
AC |
40 ms |
70912 KB |
subtask_1_19.txt |
AC |
41 ms |
71040 KB |
subtask_1_20.txt |
AC |
77 ms |
70912 KB |
subtask_1_21.txt |
AC |
19 ms |
70912 KB |
subtask_1_22.txt |
AC |
19 ms |
70912 KB |
subtask_1_23.txt |
AC |
19 ms |
70912 KB |
subtask_1_24.txt |
AC |
19 ms |
70912 KB |
subtask_1_25.txt |
AC |
19 ms |
70912 KB |
subtask_1_26.txt |
AC |
19 ms |
70912 KB |
subtask_1_27.txt |
AC |
19 ms |
71040 KB |