题目链接:https://ac.nowcoder.com/acm/contest/923/B
题目大意:


当时看了看数太大,大整数复杂度也高,仔细看了看公式既然全部是乘法,那么取模后结果应该也是一样的。a[i], b[i]范围<=10^5直接预处理阶乘。哈希搞一搞。当时有预感,会卡ull。不过都写完了。直接交一发,果然wa。然后直接mod个大整数就AC了。

#include <bits/stdc++.h>
#define LL long long
using namespace std;
unsigned LL mod = 1ll*1610612741;
unsigned LL p[100005];
int a[2000005];
int main()
{
    p[0]=1;
    for(unsigned LL i=1;i<=100000;i++)
    {
        p[i]=(p[i-1]*i)%mod;
    }
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n, m;
        scanf("%d%d",&n,&m);
        unsigned LL s1=1, s2=1;
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            s1=s1*p[a[i]]%mod;
        }
        for(int i=1;i<=m;i++)
        {
            scanf("%d",&a[i]);
            s2=s2*p[a[i]]%mod;
        }
        if(s1==s2)
        {
            printf("equal\n");
        }
        else
        {
            printf("unequal\n");
        }
    }

    return 0;
}