zoukankan      html  css  js  c++  java
  • luogu P1866 编号

    题目描述

    太郎有N只兔子,现在为了方便识别它们,太郎要给他们编号。兔子们向太郎表达了它们对号码的喜好,每个兔子i想要一个整数,介于1和Maxnumber[i]之间(包括1和Maxnumber[i])。当然,每个兔子的编号是不同的。现在太郎想知道一共有多少种编号的方法。

    你只用输出答案mod 1000000007即可。如果这是不可能的,就输出0.

    输入输出格式

    输入格式:

    第一行是一个整数N。(1≤N≤50)

    第二行N个整数Maxnumber[i]。(1≤Maxnumber[i]≤1000)

    输出格式:

    一个整数

    输入输出样例

    输入样例#1: 复制
    2
    5 8
    
    输出样例#1: 复制
    35

    纯数学题,就好似计算概率

    明白了这里就没啥难度了。
    #include <iostream>
    #include<algorithm>
    #include<cstdio>
    using namespace std;
    long long n,a[100],ans,k;
    int main()
    {
        ans=1;                //初始化 
        scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",&a[i]);
        sort(a+1,a+1+n);        //从前往后推,想不出第二种解决办法了 
        for(int i=1;i<=n;i++)
        {
            ans*=(a[i]-k);
            if(a[i]-k<=0)        //某一编号矛盾直接出处“0”; 
            {
                printf("0");
                return 0;
            }
            ans%=1000000007;
            k++;
        }
        if(ans)printf("%d",ans);
        else printf("0");
    }

    此为个人略解,转载请标明出处:http://www.cnblogs.com/rmy020718/p/8831930.html

      本人永久联系QQ:2240560936

      那年你相顾伴她浪迹天涯,可曾记得我梧桐深锁囚笼为花,一语落罢,却是她已无他。

     

    除特别注明外,本站所有文章均为Manjusaka丶梦寒原创,转载请注明来自出处

  • 相关阅读:
    常见的单链表题目
    SpringBoot Hello
    IDEA 重置
    lombok的用法
    软件测试系列白盒测试覆盖率的问题
    软件测试系列软件测试基础
    Linux常用命令1对文件进行查看、复制、移动和分割
    软件测试系列通用测试用例写作
    Java继承特性
    Linux常用命令3如何设置IP地址?如何更改系统时间?
  • 原文地址:https://www.cnblogs.com/rmy020718/p/8831930.html
Copyright © 2011-2022 走看看