没出结果-传奇子函数套子函数
查看原帖
没出结果-传奇子函数套子函数
1162195
TJ_WY楼主2024/10/11 16:47

二分初学者求助

其实是忘光了回来复习

症状诊断:不出结果

#include<bits/stdc++.h>
using namespace std;

bool check(string s,int tm,int l){
	int tma;
	for(int i=0;i<s.length()-1;i++){
		if(s[i]=='0')continue;
		for(int j=i;j<i+l-1;j++){
			s[j]='0';
		}
		tma++;
	}
	if(tma>tm){
		return false;
	}
	else{
		return true;
	}
}

int solve(int n,int k,string s){
	int l,m,r;
	l=1;r=n;m=(l+r)/2;
	while(l<=r){
		if(check(s,k,m)){
			r=m;
		}
		else{
			l=m;
		}
	}
	return m;//?
}

int main(){
	int T,n,k;
	string s;
	cin>>T;
	for(int i=0;i<=T;i++){
		cin>>n>>k;
		cin>>s;
		cout<<solve(n,k,s);
	}
	return 0;
}

玄关

2024/10/11 16:47
加载中...