为啥70分

P2628 冒险岛

@ yinsongyiss
by YczSS @ 2016-01-25 11:11:36


@[yinsongyiss](/space/show?uid=10422)
by YczSS @ 2016-05-14 17:39:28


3个连续的<<<才前进
by clyoyo @ 2017-01-04 09:31:51


```cpp #include<iostream> #include<string.h> using namespace std; int main() { char a[1000001]; int n,i,j,u,l,t,p=-1; cin>>a>>n; l=strlen(a); for(i=0;i<n;i++) { cin>>t; p+=t; if(a[p]=='>'){ if(a[p+1]=='>' && a[p+2]=='>'){ p+=2; while(a[p]=='>') { p++; } } } if(a[p]=='*') { if(a[p+1]=='*' && a[p+2]=='*'){ u=0; while(a[p+u]=='*') { u++; } p=p-u; } } if(p<0) p=0; if(p>l-1) p=l-1; } cout<<p+1<<" "<<l-p-1<<endl; return 0; } 同问 ```
by _xcc_ @ 2017-02-10 21:21:45


我也是 ```cpp var s:ansistring; l,i,ans,sum,p,n:longint; map,a:array[0..1000000] of longint; begin readln(s); l:=length(s); for i:=1 to length(s) do if s[i]='>' then map[i]:=1 else if s[i]='*' then map[i]:=2 else map[i]:=0; //for i:=1 to length(s) do write(map[i],' '); readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do begin ans:=ans+a[i]; if map[ans]=1 then begin p:=ans;sum:=0; repeat sum:=sum+1; p:=p+1; until map[p]<>1; if sum>=2 then ans:=ans+sum; //writeln('qianjin',sum,' weizhi',ans);writeln; end else if map[ans]=2 then begin p:=ans;sum:=0; repeat sum:=sum+1; p:=p+1; until map[p]<>2; if sum>=2 then ans:=ans-sum; //writeln('houtui',sum,' weizhi',ans);writeln; end; end; if ans>l then ans:=l else if ans<0 then ans:=0; writeln(ans,' ',l-ans); end. ```
by 美利坚共产党 @ 2017-07-16 22:18:14


是不是二红一紫?me too ```cpp #include<bits/stdc++.h> using namespace std; string s; int n; long long ans; int a[100010]; int main(){ cin>>s>>n; for(int i=1;i<=n;i++){ cin>>a[i]; ans+=a[i]; if(ans>s.size()) ans=s.size(); if(ans<0) ans=0; if(s[ans-1]=='>') if(s[ans]=='>'&&s[ans+1]=='>') for(;s[ans-1]=='>';ans++) continue; if(s[ans-1]=='*'){ if(s[ans]=='*'&&s[ans+1]=='*') for(int j=1;;j++){ if(s[ans+j-1]!='*'){ ans-=j; break; } } } if(ans>s.size()) ans=s.size(); if(ans<0) ans=0; } cout<<ans<<" "<<s.size()-ans<<endl; return 0; } ```
by 松鼠党 @ 2019-06-14 14:53:01


```cpp #include<iostream> #include<cstdio> #include<cstring> #define h register int using namespace std; const int N=100001; int a[N],n,now,ans,len; string s; struct node { int w; bool v; }; node check(int next) { int num=0; node a; if(s[next-1]=='>'){ for(h i=next;i<len;i++){ if(s[i]!='>'||i==len-1){ if(i==len-1&&s[i]=='>') num++; if(num>=2){ a.v=1;a.w=i+1; return a; } } else if(s[i]=='>') num++; } } else { if(s[next-1]=='*') { for(h i=next;i<len;i++){ if(s[i]!='*'||i==len-1){ if(i==len-1&&s[i]=='*') num++; if(num>=2){ a.v=-1;a.w=next-(num+1); return a; } } else if(s[i]=='*') num++; } } } a.v=0,a.w=0; return a; } int main() { cin>>s>>n; len=s.size(); for(h i=1;i<=n;i++){ scanf("%d",&a[i]); now+=a[i]; if(now>len) now=len; node f; f=check(now); if(f.v!=0) now=f.w; if(now>len) now=len; if(now<1) now=1; } cout<<now<<' '<<len-now<<endl; return 0; } ```
by _NaCly_Fish @ 2019-12-30 21:34:35


70分
by _NaCly_Fish @ 2019-12-30 21:34:52


烤菇
by mushroom_knight @ 2020-08-20 23:06:35


说明有错呗
by Levi_Biff @ 2023-05-11 21:38:35


|