详解: view
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char ss[100005];
const int MOD=7+1e9;
int cal(char ch)
{
if(ch=='A') return 0;
else if(ch=='C') return 1;
else if(ch=='G') return 2;
else return 3;
}
int main()
{
int n;int cnt[4];
for(int i=0;i<4;i++) cnt[i]=0;
cin>>n>>ss;
for(int i=0;i<n;i++){
cnt[cal(ss[i])]++;
}
int K=-1;
for(int i=0;i<4;i++){
K=max(K,cnt[i]);
}//max=K*n^2;
int cc=0;
for(int i=0;i<4;i++){
if(cnt[i]==K) cc++;
}
long long ans=1;
for(int i=0;i<n;i++){
ans=(ans*cc)%MOD;
}
printf("%I64d\n",ans);
return 0;
}