用cin>>s;80分 为什么getline(cin,s); 就0分(顺便帮忙看一下如何改)
#include<bits/stdc++.h>
using namespace std;
string s;
int n,step[1000001];
bool flag;
int idx=-1;
int main(){
cin>>s;
cin>>n;
for(int i=1;i<=n;i++){
cin>>step[i];
}
for(int i=1;i<=n;i++){
idx+=step[i];
if(s[idx]=='>'&&s[idx+1]=='>'&&s[idx+2]=='>'&&!flag){
while(s[idx]=='>'){
idx++;
}
flag=true;
}
if(s[idx]=='*'&&s[idx+1]=='*'&&s[idx+2]=='*'&&!flag){
int k=0;
while(s[idx+k]=='*'){
k++;
}
idx-=k;
flag=true;
}
if(idx<0) idx=0;
if(idx>s.length()) idx=s.length()-1;
flag=false;
}
cout<<idx+1<<" "<<s.length()-idx-1<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
string s;
int n,step[1000001];
bool flag;
int idx=-1;
int main(){
getline(cin,s);
cin>>n;
for(int i=1;i<=n;i++){
cin>>step[i];
}
for(int i=1;i<=n;i++){
idx+=step[i];
if(s[idx]=='>'&&s[idx+1]=='>'&&s[idx+2]=='>'&&!flag){
while(s[idx]=='>'){
idx++;
}
flag=true;
}
if(s[idx]=='*'&&s[idx+1]=='*'&&s[idx+2]=='*'&&!flag){
int k=idx;
while(s[k]=='*'){
k++;
}
idx-=k;
flag=true;
}
if(idx<0) idx=0;
if(idx>s.length()) idx=s.length()-1;
flag=false;
}
cout<<idx+1<<" "<<s.length()-idx-1<<endl;
return 0;
}