您现在的位置是:主页 > news > 保定高端网站建设/百度极速版
保定高端网站建设/百度极速版
admin2025/6/7 22:01:01【news】
简介保定高端网站建设,百度极速版,珠海网站建设专线,外贸网站建设公司服务题目描述 在一个风和日丽的午后,少佐给薇尔莉特伊芙嘉登安排了一个任务。 任务大致是这样的,接下来的一周,薇尔莉特需要照顾 N 只小猫咪。为了方便管理这N 只猫咪, 薇尔莉特准备给每只猫咪取一个独一无二的名字。取名字要征求猫…
题目描述
在一个风和日丽的午后,少佐给薇尔莉特伊芙嘉登安排了一个任务。
任务大致是这样的,接下来的一周,薇尔莉特需要照顾 N 只小猫咪。为了方便管理这N 只猫咪,
薇尔莉特准备给每只猫咪取一个独一无二的名字。取名字要征求猫咪本咪的同意才可以。
但这些猫咪都非常有个性,绝不接受很长的名字。
现给出每只猫咪所能容忍名字的长度上限。
请你为所有猫咪取名字,请问共有多少种不同的方案。
名字仅包含小写英文字母。结果可能非常大,所以请将结果对 77797 取模
如果无方案,请输出 -1
输入描述:
第一行,一个正整数 N 。
第二行, N 个正整数,第 i 个数字 aia_iai ,表示第 i 只猫咪所能容忍名字的长度上限,数字间以空格隔开。
输出描述:
第一行,仅输出 1 个数,取模后的总方案数 x 。PS:如果无方案,请输出 -1
示例1
输入
1 1
输出
26
说明
猫咪的名字可以为 a-z 间的任意一个字母,所以方案数为 26。
示例2
输入
1 2
输出
702
说明
样例 2 中,猫咪的名字的长度可以为 1,也可以为 2。
长度为 1 时,名字可以为 a-z 中任意一个,方案数 26 种。
长度为 2 时,名字可以为 aa-z, ba-bz ,....,za-zz 中任意一个,方案数 26×26=676种。
所以总方案数为 26+676=702 种。
示例3
输入
5 7 5 8 4 3
输出
9416
备注:
100%的数据,1 ≤ N ≤ 10^4,1 ≤ a_i ≤ 10
#define _CRT_SECURE_NO_WARNINGS
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string.h>
#include <cstdlib>
#include <cstdio>
#include <vector>
#include <cmath>
#include <deque>
#include <queue>
#include <map>
#include <set>
#define mod 77797
using namespace std;
int n, a[10005];
long long k = 1, ans = 1, res[15];
int main()
{for (int i = 1; i <= 10; i++){k = k % mod * 26 % mod;res[i] = (res[i - 1] % mod + k % mod) % mod;}scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &a[i]);sort(a + 1, a + n + 1);for (int i = 1; i <= n; i++){k = res[a[i]] - i + 1;ans = (ans % mod * k % mod) % mod;}if (ans)printf("%lld", ans);elseprintf("-1");return 0;
}