fork download
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. int main() {
  7. int t, r, n;
  8. char s[1000005];
  9. scanf("%d", &t);
  10. while(t--) {
  11. scanf("%s", s);
  12. r=1; n=strlen(s);
  13. if(n%2==0) {
  14. for(int i=0; i<n/2; i++) {
  15. if(s[i]=='?' && s[n-1-i]=='?') r=(r*26)%10000009;
  16. else if(s[i]!=s[n-1-i] && s[i]!='?' && s[n-1-i]!='?') r *= 0;
  17. else r=(r*1)%10000009;
  18. }
  19. }
  20. else {
  21. for(int i=0; i<(n-1)/2; i++) {
  22. if(s[i]=='?' && s[n-1-i]=='?') r=(r*26)%10000009;
  23. else if(s[i]!=s[n-1-i] && s[i]!='?' && s[n-1-i]!='?') r *= 0;
  24. else r=(r*1)%10000009;
  25. }
  26. if(s[(n-1)/2]=='?') r=(r*26)%10000009;
  27. }
  28. printf("%d\n", r);
  29. }
  30. return 0;
  31. }
Success #stdin #stdout 0s 4196KB
stdin
5
?
??
ab?
a?c
aba
stdout
26
26
1
0
1