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
本次小编为大家分享洛谷P1866编号的题解。
这个题,小编不太想多说什么.这是一个偏向数学知识的题.只不过数据有些大,(不过还是被long long钻了空子,计数器一定要开到最大呀!).
不过为了不超限,每一次循环都要%一下1000000007。(太险了,数据再大一点就要用高精了。)
还有一点要注意,题目给你的Maxnumber数组没有排序,要自行排一下序。(本人用的是sort函数,头文件名:#include<algorithm>)
废话少说,上代码!(逃)

#include<iostream>

#include<algorithm>

using namespace std;

int main()

{

   int a,b[51]={0},i;

   long long c=1;

  cin>>a;

  for(i=1;i<=a;i++)

  {

    cin>>b[i];

  }

  sort(b+1,b+a+1);

  for(i=1;i<=a;i++)

   {

     c=c*(b[i]-i+1);

     c=c%1000000007;

   }

   cout<<c;

   return 0;

}

posted on   田宸玮  阅读(401)  评论(0编辑  收藏  举报

努力加载评论中...
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示