P1866 编号 题解
作者:互联网
题目描述
太郎有N只兔子,现在为了方便识别它们,太郎要给他们编号。兔子们向太郎表达了它们对号码的喜好,每个兔子i想要一个整数,介于1和Maxnumber[i]之间(包括1和Maxnumber[i])。当然,每个兔子的编号是不同的。现在太郎想知道一共有多少种编号的方法。
你只用输出答案mod 1000000007即可。如果这是不可能的,就输出0.
输入格式
第一行是一个整数N。(1≤N≤50)
第二行N个整数Maxnumber[i]。(1≤Maxnumber[i]≤1000)
输出格式
一个整数
输入输出样例
输入 #12 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;
}
标签:Maxnumber,P1866,题解,long,太郎,1000000007,编号,include 来源: https://www.cnblogs.com/tcwbob/p/12846709.html