爱奇艺 奶牛编号 数学

题目描述

牛牛养了n只奶牛,牛牛想给每只奶牛编号,这样就可以轻而易举地分辨它们了。 每个奶牛对于数字都有自己的喜好,第i只奶牛想要一个1和x[i]之间的整数(其中包含1和x[i])。
牛牛需要满足所有奶牛的喜好,请帮助牛牛计算牛牛有多少种给奶牛编号的方法,输出符合要求的编号方法总数。

输入描述:

输入包括两行,第一行一个整数n(1 ≤ n ≤ 50),表示奶牛的数量 第二行为n个整数x[i](1 ≤ x[i] ≤ 1000)

输出描述:

输出一个整数,表示牛牛在满足所有奶牛的喜好上编号的方法数。因为答案可能很大,输出方法数对1,000,000,007的模。

示例1

输入

4
4 4 4 4

输出

24
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long int
const ll mod = 1000000007;
const ll maxn = 1e2+5;
ll arr[maxn];
int main()
{
     int n;
     while(cin>>n)
     {
         for(ll i=0;i<n;++i)
        {
             cin>>arr[i];
        }
        sort(arr,arr+n);    
         ll sub=0;
         ll ans=1;
        for(int i=0;i<n;++i)
         {
             ans=(ans*(arr[i]-sub++))%mod;
        }
        cout<<ans<<endl;
    }
    return 0;
}
Last modification:January 12th, 2020 at 12:14 am
如果觉得我的文章对你有用,请随意赞赏