BestCoder Round #77 (div.2)
来源:互联网 发布:淘宝大学官方视频教程 编辑:程序博客网 时间:2024/05/16 14:04
xiaoxin juju needs help
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1124 Accepted Submission(s): 323
Total Submission(s): 1124 Accepted Submission(s): 323
提示:可重集的全排列+逆元;(板子题,)
弱渣要学逆元啦!
Problem Description
弱渣要学逆元啦!
Problem Description
As we all known, xiaoxin is a brilliant coder. He knew **palindromic** strings when he was only a six grade student at elementry school.
This summer he was working at Tencent as an intern. One day his leader came to ask xiaoxin for help. His leader gave him a string and he wanted xiaoxin to generate palindromic strings for him. Once xiaoxin generates a different palindromic string, his leader will give him a watermelon candy. The problem is how many candies xiaoxin's leader needs to buy?
This summer he was working at Tencent as an intern. One day his leader came to ask xiaoxin for help. His leader gave him a string and he wanted xiaoxin to generate palindromic strings for him. Once xiaoxin generates a different palindromic string, his leader will give him a watermelon candy. The problem is how many candies xiaoxin's leader needs to buy?
Input
This problem has multi test cases. First line contains a single integerT(T≤20) which represents the number of test cases.
For each test case, there is a single line containing a stringS(1≤length(S)≤1,000) .
For each test case, there is a single line containing a string
Output
For each test case, print an integer which is the number of watermelon candies xiaoxin's leader needs to buy after mod1,000,000,007 .
Sample Input
3aaaabba
Sample Output
121
Source
BestCoder Round #77 (div.2)
Recommend
wange2014 | We have carefully selected several similar problems for you: 5654 5653 5649 5648 5647
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <queue>#include <stack>#include <set>#include <map>#include <vector>#define LL long longusing namespace std;LL A[1010]= {1,1};int D[26];char s[1010];LL MOD=1e9+7;LL solve( LL x){ LL n=MOD-2; LL ans=1; while(n) { if(n&1) { (ans*=x)%=MOD; } (x*=x)%=MOD; n>>=1; } return ans;}int main(){ for(LL i=2; i<1001; i++) (A[i]=A[i-1]*i)%=MOD; int t; cin>>t; while(t--) { scanf("%s",s); memset(D,0,sizeof(D)); for(int i=0; s[i]; i++) D[s[i]-'a']++; int odd=0,cnt=0; for(int i=0;i<26; i++) { if(D[i]%2) odd++; D[i]/=2; cnt+=D[i]; } if(odd>1) { printf("0\n"); continue; } LL ans=A[cnt]; for(int i=0; i<26; i++) { (ans*=(solve(A[D[i]])))%=MOD; } printf("%I64d\n",ans); } return 0;}
1 0
- BestCoder Round #77 (div.2)
- BestCoder Round #77 (div.2)
- BestCoder Round #77 (div.2)
- BestCoder Round #77 (div.2) 总结
- BestCoder Round #77 (div.2)(A)
- BestCoder Round #77 (div.2)解题报告
- 【BestCoder Round #77 (div.2)】HDU5650so easy
- 【解题报告】BestCoder Round #77 (div.2)
- BestCoder Round #11 (Div. 2)
- BestCoder Round #11 (Div. 2)
- BestCoder Round #50 (div.2)
- BestCoder Round #50 (div.2)
- BestCoder Round 50 (div 2)
- BestCoder Round #50 (div.2)
- #BestCoder Round #50 (div.2)
- BestCoder Round #50 (div.2)
- BestCoder Round #54 (div.2)
- BestCoder Round #56 (div.2)
- android studio generate javadoc failed
- c语言:循环队列的实现
- Mysql To Charts(五)--routers文件
- 绘制斜线的方法
- java.lang.nullpointerexceptiond的原因
- BestCoder Round #77 (div.2)
- JSON 中JsonConfig的使用
- Android Studio 环境配置
- CCF 有趣的数
- ui更新机制杂谈
- 简述什么是T-SQL
- NAT穿透性
- c++作业2
- robustMatch