fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n;
  6. char a[1<<17];
  7. int cnt[2048];
  8. long long ans;
  9. int parity[16];
  10.  
  11. int main() {
  12. int i,j,current_mask;
  13.  
  14. scanf("%d", &n);
  15. scanf("%s", a+1);
  16.  
  17. ++cnt[0];
  18. for(i=1;i<=n;i++) {
  19. parity[a[i]-'0']^=1;
  20. current_mask=0;
  21. for(j=0;j<10;j++) if(parity[j]) current_mask|=(1<<j);
  22. ans+=cnt[current_mask];
  23. for(j=0;j<10;j++) ans+=cnt[current_mask^(1<<j)];
  24. ++cnt[current_mask];
  25. }
  26.  
  27. printf("%lld\n", ans);
  28.  
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 3552KB
stdin
Standard input is empty
stdout
0