fork download
  1. #include <bits/stdc++.h>
  2. typedef long long ll;
  3. using namespace std;
  4. const int N = 100000 + 5;
  5. char st[N];
  6. bool other[N];
  7. int n, m, res, cnt, ti;
  8. char c;
  9. int O(int i) { return n-i-1; }
  10. int main() {
  11. int T;
  12. scanf("%d", &T);
  13. while(T--) {
  14. scanf("%d%d%s", &n,&m,st);
  15. for(int i=0; i<n; ++i)
  16. other[i] = true;
  17. cnt = 0;
  18. for(int i=0; i<=O(i); ++i)
  19. if(st[i] != st[O(i)]) {
  20. other[i] = other[O(i)] = false;
  21. ++cnt;
  22. }
  23. res = 0;
  24. for(int j=0; j<m; ++j) {
  25. scanf("%d %c", &ti, &c);
  26. --ti;
  27. st[ti] = c;
  28. if(other[ti] == true) {
  29. if(st[ti] != st[O(ti)]) {
  30. other[ti] = other[O(ti)] = false;
  31. ++cnt;
  32. }
  33. } else if(other[ti] == false) {
  34. if(st[ti] == st[O(ti)]) {
  35. other[ti] = other[O(ti)] = true;
  36. --cnt;
  37. }
  38. }
  39. if(cnt == 0) ++res;
  40. }
  41. printf("%d\n", res);
  42. }
  43. return 0;
  44. }
Success #stdin #stdout 0s 4484KB
stdin
1
10 7
abcdefdcba
5 x
6 x
4 d
2 d
3 y
8 y
9 d
stdout
3