蓝桥杯-01小游戏

简单的模拟关键在于怎么降低时间复杂度

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;
}
相关推荐
数研小生1 小时前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
芒克芒克1 小时前
LeetCode 题解:除自身以外数组的乘积
算法·leetcode
Python 老手1 小时前
Python while 循环 极简核心讲解
java·python·算法
@Aurora.1 小时前
优选算法【专题九:哈希表】
算法·哈希算法·散列表
Bella的成长园地2 小时前
面试中关于 c++ async 的高频面试问题有哪些?
c++·面试
爱看科技2 小时前
微美全息(NASDAQ:WIMI)研究拜占庭容错联邦学习算法,数据安全与隐私保护的双重保障
算法
彷徨而立2 小时前
【C/C++】什么是 运行时库?运行时库 /MT 和 /MD 的区别?
c语言·c++
qq_417129252 小时前
C++中的桥接模式变体
开发语言·c++·算法
YuTaoShao2 小时前
【LeetCode 每日一题】3010. 将数组分成最小总代价的子数组 I——(解法二)排序
算法·leetcode·排序算法
XH华4 小时前
备战蓝桥杯,第七章:函数与递归
职场和发展·蓝桥杯