fork download
  1. #include <cstdio>
  2. #include <cstring>
  3. int d[10005], n, m, t;
  4. char S[10005];
  5. int main() {
  6. gets(S+1);
  7. scanf("%d",&m);
  8. n = strlen(S+1);
  9. d[0] = 1;
  10. for (int i = 1; i <= n; i++) {
  11. t = 0;
  12. for (int j = 1; j < i; j++) {
  13. if (S[i] == S[j]) t = d[j-1];
  14. d[j] = (d[j]+t)%m;
  15. }
  16. d[i] = (d[i-1]*2)%m;
  17. }
  18. printf("%d",d[n]);
  19. }
Success #stdin #stdout 0s 3392KB
stdin
Standard input is empty
stdout
1