概述
牛客等级之题N1(8.12场)小w的a=b问题
题目链接
题目描述
给你两个数组,一个
a
[
]
a[; ]
a[] 数组,长度为n,另一个是
b
[
]
b[; ]
b[] 数组,长度为m。
现在问你
∏
i
=
1
n
a
[
i
]
!
prod_{i=1}^{n}a[i]!
∏i=1na[i]! 是否等于
∏
i
=
1
m
b
[
i
]
!
prod_{i=1}^{m}b[i]!
∏i=1mb[i]!∏
其中
∏
prod
∏ 是连乘符,它表示n个元素的乘积。"!“为阶乘运算,表示小于等于该数所有正整数的积,并且规定0!=1。
我们认为阶乘运算”!“的优先级大于连乘运算”
∏
∏
∏"。
输入描述:
第一行是一个正整数T,
(
1
⩽
T
⩽
2
∗
1
0
2
)
(1leqslant Tleqslant2*10^{2} )
(1⩽T⩽2∗102)表示案例的数目
对于每组案例,第一行是两个正整数
n
,
m
n,m
n,m,
(
1
⩽
n
,
m
⩽
1
0
5
)
(1leqslant n,mleqslant10^{5} )
(1⩽n,m⩽105)。
接下来一行输入
n
n
n 个整数
a
[
i
]
a[i]
a[i],
(
0
⩽
a
[
i
]
⩽
1
0
5
)
(0leqslant a[i]leqslant10^{5} )
(0⩽a[i]⩽105)。
接下来一行输入
m
m
m 个整数
b
[
i
]
b[i]
b[i],
(
0
⩽
b
[
i
]
⩽
1
0
5
)
(0leqslant b[i]leqslant10^{5} )
(0⩽b[i]⩽105)。
保证
n
,
m
n,m
n,m 的总和不多于
2
∗
1
0
6
2*10^{6}
2∗106
输出描述:
对于每组案例,输出一行一个字符串,如果
∏
i
=
1
n
a
[
i
]
!
prod_{i=1}^{n}a[i]!
∏i=1na[i]! 等于
∏
i
=
1
m
b
[
i
]
!
prod_{i=1}^{m}b[i]!
∏i=1mb[i]!,请输出"equal"。
反之请输出"unequal"。
示例1
输入
3
2 1
5 3
6
4 6
4 2 3 0
2 3 2 2 1 3
3 4
5 6 7
3 4 5 6
输出
equal
equal
unequal
这题肯定是要取模的,关键在于取什么模数最好,个人建议取一个大素数,如果 WA 就多试几次,我试了 1 e 9 + 7 1e9+7 1e9+7 不行,换成 1 e 9 + 3 1e9+3 1e9+3 就过了,AC代码如下:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
const ll mod=1e9+3;
ll f[N];
void init(){
f[0]=1;
for(ll i=1;i<N;i++) f[i]=f[i-1]*i%mod;
}
int main()
{
init();
int t,n,m,a,b;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
ll s1=1,s2=1;
for(int i=0;i<n;i++){
scanf("%d",&a);
s1=s1*f[a]%mod;
}
for(int i=0;i<m;i++){
scanf("%d",&b);
s2=s2*f[b]%mod;
}
if(s1==s2) printf("equaln");
else printf("unequaln");
}
return 0;
}
最后
以上就是鲜艳蓝天为你收集整理的牛客等级之题N1(8.12场)小w的a=b问题牛客等级之题N1(8.12场)小w的a=b问题的全部内容,希望文章能够帮你解决牛客等级之题N1(8.12场)小w的a=b问题牛客等级之题N1(8.12场)小w的a=b问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复