网站全站出售,积分网站建设,网站建设策划书3000字,外贸网站推广seo标题#xff1a;出栈次序 X星球特别讲究秩序#xff0c;所有道路都是单行线。一个甲壳虫车队#xff0c;共16辆车#xff0c;按照编号先后发车#xff0c; 夹在其它车流中#xff0c;缓缓前行。 路边有个死胡同#xff0c;只能容一辆车通过#xff0c;是临时的检查站出栈次序 X星球特别讲究秩序所有道路都是单行线。一个甲壳虫车队共16辆车按照编号先后发车 夹在其它车流中缓缓前行。 路边有个死胡同只能容一辆车通过是临时的检查站如图【p1.png】所示。 X星球太死板要求每辆路过的车必须进入检查站也可能不检查就放行也可能仔细检查。 如果车辆进入检查站和离开的次序可以任意交错。那么该车队再次上路后可能的次序有多少种 为了方便起见假设检查站可容纳任意数量的汽车。 显然如果车队只有1辆车可能次序1种2辆车可能次序2种3辆车可能次序5种。 现在足足有16辆车啊亲需要你计算出可能次序的数目。 这是一个整数请通过浏览器提交答案不要填写任何多余的内容比如说明性文字。 方法一 1 #includestdio.h2 #includestring.h3 #includestdlib.h4 int main(){5 int sum0;6 int f[17];7 memset(f,0,sizeof(f));//注意要赋初值 8 f[0]1;9 f[1]1;
10 f[2]2;
11 f[3]5;
12 for(int i4;i16;i){
13 for(int j0;ji-1;j){
14 f[i]f[j]*f[i-1-j];
15 }
16 }
17 printf(%d,f[16]);
18 return 0;
19 } 方法二 1 #includestdio.h2 int ans0; 3 void dfs(int n,int r,int i){4 if(n32){5 ans;6 return;7 }8 if(ri){9 if(r16){
10 dfs(n1,r1,i);
11 }
12 if(i16){
13 dfs(n1,r,i1);
14 }
15 }else{
16 if(ri){
17 if(r16){
18 dfs(n1,r1,i);
19 }
20 }
21 }
22 return;
23 }
24 int main(){
25 dfs(0,0,0);
26 printf(%d,ans);
27 return 0;
28 } 转载于:https://www.cnblogs.com/panweiwei/p/6682845.html