标签:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> #define mod 1000000007 using namespace std; typedef long long LL; int C[550][550]; int main() { memset(C,0,sizeof(C)); for(int i=0;i<=505;i++) { C[i][1]=i; C[i][0]=1; } for(int i=2;i<=500;i++) for(int j=2;j<=i;j++) { C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod; } //freopen("in.txt","r",stdin); int t; scanf("%d",&t); while(t--) { LL ans=1; int i,len,cnt=0; char s[1050]; scanf("%s",s); len=strlen(s); int a[400],b[400],j=0; memset(a,0,sizeof(a)); for(i=0;i<len;i++) { a[s[i]]++; } for(i=‘a‘;i<=‘z‘;i++) { if(a[i]) { b[j++]=a[i]/2; } if(a[i]%2!=0) cnt++;//奇数个字符的个数 } if(cnt>1) { printf("0\n"); continue; } int h=len/2; for(i=0;i<j;i++) { ans=(ans*C[h][b[i]])%mod; h-=b[i]; } printf("%I64d\n",ans); } return 0; }
HDU 5651 xiaoxin juju needs help 逆元
标签:
原文地址:http://www.cnblogs.com/Ritchie/p/5343418.html