fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. string s;
  5. char nash = '5';
  6. int ans = 0;
  7. int main(){
  8. cin >> n;
  9. cin >> s;
  10. string s2 = s;
  11. int ans2 = 1;
  12. for (int i = 1; i < s.size(); i++){
  13. if (s[i] == nash){
  14. s[i] = 1 - (s[i] - '0') + '0';
  15. nash = 5;
  16. }
  17. if (s[i] == s[i - 1]){
  18. nash = 1 - (s[i] - '0') + '0';
  19. s[i] = 1 - (s[i] - '0') + '0';
  20. ans++;
  21. }
  22. }
  23. nash = 1 - (s2[0] - '0') + '0';
  24. s2[0] = 1 - (s2[0] - '0') + '0';
  25. for (int i = 1; i < s2.size(); i++){
  26. if (s2[i] == nash){
  27. s2[i] = 1 - (s2[i] - '0') + '0';
  28. nash = 5;
  29. }
  30. if (s2[i] == s2[i - 1]){
  31. nash = 1 - (s2[i] - '0') + '0';
  32. s2[i] = 1 - (s2[i] - '0') + '0';
  33. ans2++;
  34. }
  35. }
  36. cout << min(ans,ans2);
  37. }
Success #stdin #stdout 0s 5304KB
stdin
4
01001110
stdout
2