1 solutions

  • 0
    @ 2025-12-3 17:12:23

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int a[78],b[78],c[25],t1,t2;//t1、t2,0表示字母,1表示数字 
    string s1,s2;
    long long ans=1;
    bool cmp(int x,int y)
    {
    	return x>y;
    }
    long long f(int x)
    {
    	long long w=1;
    	for(int i=x;i>1;i--)
    		w*=i;
    	return w;
    }
    int main()
    {
    //	freopen("590.in","r",stdin);
    //	freopen("590.out","w",stdout);	
    	cin>>s1>>s2;
    	for(int i=0;i<s1.size();i++)
    	{
    		int x=s1[i]-'0';
    		a[x]++;
    	}
    	for(int i=0;i<s2.size();i++)
    	{
    		int x=s2[i]-'0';
    		b[x]++;
    	}
    	sort(a,a+76,cmp);
    	sort(b,b+76,cmp);
    	for(int i=0;i<76;i++)
    		if(a[i]!=b[i])  {cout<<0;return 0;}	
    	for(int i=0;i<76;i++)
    		c[b[i]]++;
    	for(int i=1;i<21;i++)
    		if(c[i]>0) ans*=f(c[i]);
    	cout<<ans;
    	return 0;
    } 
    
    • 1

    Information

    ID
    965
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By