竞赛讨论区 > 送外卖这题最后一道测试样例
头像
dongfeng2333
编辑于 2020-10-03 13:46
+ 关注

送外卖这题最后一道测试样例

请问这题最后一道测试样例是啥呀。。。。好久都过不了,不知道错在哪里
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int a[100005],b[100005],vis[100005];
int flagend=0,flag=0;
string s;
string s1;
void dfs(int v,int n){
 
 if(v<0||v>n){  
  return;
 }
 if(v==n){
  if(s1.size()==0||s<s1){
   s1=s;
   flagend=flag;
  }
  return;
 }
 if(vis[v]==1){
  flag=1;
  return;
 }  
 vis[v]=1;
 
 s.push_back('a');
 dfs(a[v]+v,n);
 s.erase(s.end()-1);
  
 s.push_back('b');
 dfs(b[v]+v,n);
 s.erase(s.end()-1);
 vis[v]=0;
 flag=0;
}
int main(){
 int n;
 scanf("%d",&n);
 for(int i=0;i<n;i++){
  scanf("%d",&a[i]);
 }
 for(int i=0;i<n;i++){
  scanf("%d",&b[i]);
 }
 dfs(0,n-1);
 if(s1.size()==0){
  cout<<"No solution!";
 }
 else{
  if(flagend==1){
  cout<<"Infinity!";
  }
  else{
   cout<<s1; 
  }
 }
 
}

全部评论

(1) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐