zoukankan      html  css  js  c++  java
  • Vijos P1060 盒子

    Vijos P1060 盒子

    链接:https://vijos.org/p/1060

    【思路】

      组合公式+精度选择。

      首先解决将A个数放入N个集合的数目,其中集合可空。因为可以有球不放入集合,所以增加一个集合放置剩余的球,集合数为N+1。因为集合允许为空,所以可以把这个问题看作是有N+A个位置(N个挡板A个球),从中选择N个位置放置挡板的问题(分成N+1份)。

      公式为C(N+A,N) 简化为 (N+1*…*N+A)/(A!)

      用usigned long long刚好可以过。

    【代码】

     1 #include<iostream>
     2 using namespace std;
     3 
     4 unsigned long long c1,c2;
     5 int N,A,B;
     6 
     7 int main() {
     8     cin>>N>>A>>B;
     9     c1=1;
    10     for(int i=1;i<=A;i++) 
    11        c1=c1*(N+i)/i;
    12     c2=1;
    13     for(int i=1;i<=B;i++)
    14        c2=c2*(N+i)/i;
    15     cout<<c1*c2;
    16     
    17     return 0;
    18 }
  • 相关阅读:
    正则表达式
    .net打印控件基本用法
    批处理
    dos命令
    网络散点
    华为路由器命令
    用eNSP模拟
    oracle PL/SQL语法基础
    路由
    docker redis shell
  • 原文地址:https://www.cnblogs.com/lidaxin/p/4873874.html
Copyright © 2011-2022 走看看