1069 - 火车出站
铁路进行列车调度时,常把站台设计成栈式结构的站台,试问:
设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种?
Input
输入包含多组测试数据。每组为一个正整数n(1<=n<=20),表示有n辆列车。
Output
输出可能的出栈序列有多少种。
Examples
Input
4 3
Output
14 5
Solution C
#include<stdio.h> double f(int n) { int i; double a=1; for(i=1;i<=n;i++) a=a*i; return a; } void main() { int n; while(scanf("%d",&n)==1) { printf("%.lf\n",f(2*n)/(f(n)*f(n)*(n+1))); } }
Solution C++
#include <iostream> #include <cstring> using namespace std; long long f[25][25]; int main(){ int n; while (cin>>n){ memset(f,0,sizeof(f)); for (int i=1;i<=n;i++) f[i][0]=1; for (int i=1;i<=n;i++){ for (int j=1;j<=i-1;j++) f[i][j]=f[i-1][j]+f[i][j-1]; f[i][i]=f[i][i-1]; } cout<<f[n][n]<<endl; } return 0; }