3 条题解
信息
- ID
- 665
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 43
- 已通过
- 30
- 上传者
先把表打出来:
#include <bits/stdc++.h>
using namespace std;
int n,cnt;
void dfs(int step,int x)
{
if(step > n)
{
cnt++;
return;
}
if(x) dfs(step,x - 1);
dfs(step + 1,x + 1);
return;
}
signed main()
{
for(n = 1;n <= 18;n++)
{
cnt = 0;
dfs(1,0);
printf("%d,",cnt);
}
return 0;
}
得出答案序列:
0,1,2,5,14,42,132,429,1430,4862,16796,58786,208012,742900,2674440,9694845,35357670,129644790,477638700
然后输出。
#include <bits/stdc++.h>
using namespace std;
int n;
int ans[19] = {0,1,2,5,14,42,132,429,1430,4862,16796,58786,208012,742900,2674440,9694845,35357670
,129644790,477638700};
signed main()
{
scanf("%d",&n);
printf("%d",ans[n]);
return 0;
}