fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5. void solve() {
  6. int n;
  7. cin>>n;
  8. string s;
  9. cin>>s;
  10. int i=n-1;
  11. int ans=0;
  12. int size=0;
  13. int size2=0;
  14. if(s[i]=='1'){
  15. size++;
  16. }
  17. else if(s[i]=='0'){
  18. size2++;
  19. }
  20. while(i>0){
  21. if(s[i-1]=='1'){
  22. size++;
  23. }
  24. else if(s[i-1]=='0'){
  25. if(size){
  26. if(size2){
  27. ans+=2;
  28. }
  29. else{
  30. ans++;
  31. }
  32. }
  33. size=0;
  34. size2++;
  35. }
  36. i--;
  37.  
  38. }
  39. if(size){
  40. if(size2){
  41. ans+=2;
  42. }
  43. else{
  44. ans++;
  45. }
  46. }
  47. cout<<ans<<endl;
  48.  
  49.  
  50. }
  51.  
  52. signed main() {
  53. int t;
  54. cin >> t;
  55. while (t--) {
  56. solve();
  57. }
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0.01s 5296KB
stdin
5
5
00110
4
1111
3
001
5
00000
3
101
stdout
2
1
1
0
3