Mister-小方


私信TA

用户名:1104986125

访问量:127838

签 名:

如此英俊为哪般

等  级
排  名 6
经  验 20825
参赛次数 1
文章发表 68
年  龄 19
在职情况 学生
学  校 大连交通大学
专  业 车辆工程

  自我简介:

TA的其他文章

解题思路:
本题是卡特兰数的应用。

关于卡特兰数的详解请看

http://baike.baidu.com/link?url=cRGLxxq1hlttRx_x0bKMZ9QuwscNQI2g2b-z62_Nenoys8h8In58jC_W4rAaKdKk2HyTVXYqTCtL0XsXeQvqPOsqiNqU7PPFsJZBqtR3jOugct-DEYeZY2kah6NO-VPxWgISmpDMegJUP0i84gwXCte9x91EUQAU1v4lgGkugi0n9mpp3ecn4yY3DHtn8DVo

参考代码:

#include<stdio.h>
int main(){
    int M,N,K,sum[11]={0},cell[]={1,1,2,6,24,120,720,5040,40320,362880,3628800},a=1,b=1;
    int ans,i;
    scanf("%d%d%d",&M,&N,&K); //4 2 2
    for(i=0;i<=M;i++){   //i<=4
        sum[i]=a/b;  //sum[0]=1 sum[1]=4 sum[2]=6 sum[3]=4 sum4=1
        a*=(M-i);   //a0=4  a1=12 a2=24 a3=24
        b*=(i+1);     //b0=1 b1=2 b2=6 b3=24
    }
    ans = (sum[N]-sum[K-1])*cell[N]*cell[K];//sum[N]-sum[k-1]为所求个数,后面为全排列个数
    printf("%d\n",ans>0?ans:0);
    return 0;
}


 

0.0分

5 人评分

  评论区

输入 1 1 0是怎么搞?
2019-02-15 13:48:20 | |
我终于成为继小方之后第二个AC这个题的人
2017-09-27 20:20:55 | |
  • «
  • 1
  • »