求解答!!为什么只能过90%的样例
我看了题解一的 感觉没啥不一样啊 就是过不了
#include<bits/stdc++.h>using namespace std;using ll=long long ;const int N=1e5+5;int n,a[N],b[N],vis[N],st[N];char ans[N];int f=0;bool dfs(int u,int step){if(u<1||u>n)return false;
#include<bits/stdc++.h> using namespace std; using ll=long long ; const int N=1e5+5; int n,a[N],b[N],vis[N],st[N]; char ans[N]; int f=0; bool dfs(int u,int step){ if(u<1||u>n)return false; if(u==n){ return true; } if(vis[u]){ st[u]=1; return false; } vis[u]=1; if(dfs(u+a[u],step+1)){ ans[step]='a'; if(st[u]){ f=1;} return true; } if(dfs(u+b[u],step+1)){ ans[step]='b'; if(st[u]){f=1;} return true; } return false; } void solve(){ cin>>n; for(int i=1;i<=n;++i){cin>>a[i];} for(int i=1;i<=n;++i){cin>>b[i];} if(dfs(1,0)){ if(f){ cout<<"“Infinity!"; }else{ cout<<ans; } }else{ cout<<"No solution!"; } } int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int T=1; while(T--){ solve(); } return 0; }
}