谁能救救我……
查看原帖
谁能救救我……
1415153
HYR403楼主2024/9/13 13:19
#include<iostream>
#include<map>
#define mod int(1e9+7)
using namespace std;
int main(){
	int fac(int);
	int cnt(string);
	int n(0);
	string s("");
	cin>>n>>s;
	cout<<fac(n)-cnt(s);
	return 0;
}
int fac(int n){
	if(n<=1)
		return 1;
	return fac(n-1)*n%mod;
}
int cnt(string a){
	int fac(int);
	int len(a.size());
	map<char,int>x;
	for(int i(0);i<len;i++)
		x[a[i]]++;
	bool stop(false);
	for(int i('a');i<='z';i++)
		if(x[i]%2)
			if(stop)
				return 0;
			else
				stop=true;
	int ret(fac(len/2));
	for(char i('a');i<='z';i++)
		ret*=fac(x[i])%mod;
	return ret;
}

我调了几天了……好棒,只对了第一个样例,样例都没对完……

2024/9/13 13:19
加载中...