https://codeforces.com/contest/2064/problem/A
#include<bits/stdc++.h>
using namespace std;
int t,x,flag,ll;
string n;
int main(){
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
cin>>t;
while(t--){
cin>>ll>>n;
for(int i=n.size()-1;i>=0;i--){
if(n[i]=='1'&&flag==0){
x++;flag=1;
if(i!=n.size()-1&&n[i+1]=='0'){x++;}
}
if(n[i]=='0'){flag=0;}
}
cout<<x<<endl;
x=0;flag=0;
}
return 0;
}
10min,慢了
注意到,若存在连续‘1’与‘0’相邻且为前后关系时,必定操作两次,单独‘0’不操作,单独‘1’操作1次
int ll纯为了跳过字符串长度的输入,因为我没读题,直接n.size()取长度了