fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. // Speed
  4. #define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
  5. // Typedefs
  6. #define int long long
  7. #define pb push_back
  8. #define ff first
  9. #define ss second
  10. #define all(x) (x).begin(), (x).end()
  11. #define rall(x) (x).rbegin(), (x).rend()
  12. #define sz(x) ((int)(x).size())
  13. #define endl '\n'
  14. #define yes cout << "yes\n"
  15. #define no cout << "no\n"
  16. // Loops
  17. #define rep(i,a,b) for(int i=a;i<b;++i)
  18. #define per(i,a,b) for(int i=b-1;i>=a;--i)
  19. #define each(x, a) for (auto& x : a)
  20. // Consts
  21. const int INF = 1e18;
  22. const int MOD = 1e9+7;
  23. const int N = 2e5 + 5;
  24. // Math
  25. int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
  26. int lcm(int a, int b) { return (a / gcd(a, b)) * b; }
  27. int power(int a, int b, int m = MOD) {
  28. int res = 1;
  29. while (b > 0) {
  30. if (b & 1) res = res * a % m;
  31. a = a * a % m;
  32. b >>= 1;
  33. }
  34. return res;
  35. }
  36. int modinv(int a, int m = MOD) {
  37. return power(a, m - 2, m);
  38. }
  39.  
  40. int dp[N];
  41.  
  42. // Logic
  43. void solve() {
  44. string r;
  45. cin >> r;
  46. int n = sz(r);
  47.  
  48. dp[0] = (r[0] == 'u');
  49. if (n > 1) dp[1] = dp[0] + (r[1] == 'u');
  50.  
  51. rep(i, 2, n) {
  52. dp[i] = (r[i] == 'u') + min(dp[i-1], dp[i-2]);
  53. }
  54.  
  55. cout << dp[n-1] << endl;
  56. }
  57. // Main
  58. int32_t main() {
  59. fast_io;
  60.  
  61. int t;
  62. cin >> t;
  63. while (t--) {
  64. solve();
  65. }
  66.  
  67. return 0;
  68. }
Success #stdin #stdout 0s 5296KB
stdin
9
sus
uuuu
sssss
uusuuu
suuuuuu
usssssss
sssuuusss
susuusuuus
uuuuuuuuuuu
stdout
0
3
0
3
3
1
1
2
6