简单的模拟关键在于怎么降低时间复杂度
20%(for循环时间复杂度高)
#include <iostream>
using namespace std;
int main()
{
int n,q;
cin>>n>>q;
string s;
cin>>s;
int t,t1;
while(q--)
{
cin>>t;
if(t==1)
cout << s.find('1')+1 << endl;
else
{
cin>>t1;
if(s[t1-1]=='0')
s[t1-1]='1';
else
s[t1-1]='0';
}
}
return 0;
}
100%
#include <iostream>
using namespace std;
int main()
{
int n,t;
cin >> n >> t;
string s;
cin >> s;
while(t--){
int a;
cin >> a;
if(a==1){
cout << s.find('1')+1 << endl;
}else{
int b;
cin >> b;
if(s[b-1]=='1')
s[b-1]='0';
else
s[b-1]='1';
}
}
return 0;
}