80分求调,测试点5,8不过
查看原帖
80分求调,测试点5,8不过
793341
xiaozeming楼主2024/5/3 13:55
#include<bits/stdc++.h>
using namespace std;
string s;
int n,bs=-1,sz,ans=0;
int main(){
	getline(cin,s);
	cin>>n;
	int len=s.size()-1;
	if(s[len]=='\r'){
		len--;
	}
	for(int i=1;i<=n;i++){
		if(bs>len){
			bs=len;
		}
		if(bs<0&&i!=1){
			bs=0;
		}
		cin>>sz;
		bs+=sz;
		if(bs>len){
			bs=len;
		}
		if(bs<0&&i!=1){
			bs=0;
		}
		if(s[bs]=='>'&&s[bs+1]=='>'&&s[bs+2]=='>'){
			for(;;){
				if(s[bs]=='>'){
					bs++;
				}
				else{
					break;
				}
			}
		}
		if(s[bs]=='*'&&s[bs+1]=='*'&&s[bs+2]=='*'){
			ans=0;
			for(int j=bs;s[j]=='*';j++){
				ans++;
			}
			bs-=ans;
		}
	}
	cout<<bs+1<<" "<<len+1-(bs+1);
	return 0;
}
2024/5/3 13:55
加载中...