气球
#include<stdio.h> int f(int n)\\求阶乘 { int i; int r=1; for(i=1;i<=n;i++) r*=i; return r; } int main() { int i,j,n,m,n1,sum=1,count[10]={0}; scanf("%d%d",&n,&m); int a[m]; for(i=0;i<m;i++) { scanf("%d",&a[i]); count[a[i]]++; } n1=n; for(i=0;i<m-1;i++) { for(j=1;j<=a[i];j++) { sum=sum*n/j; n--; } } for(i=0;i<n1;i++) { if(count[i]>1) sum/=f(count[i]);} printf("%d\n",sum); return 0; }