样例都对,0分,求解
#include<bits/stdc++.h>
using namespace std;
int n=0;
struct cow{
int left;
int right;
};
cow cows[10];
bool vst[10]={0};
long long dfs(int last,long long pos,int which){
if(which>n){
return pos;
}
long long ans=1000000008;
for(int i=1;i<=n;i++){
if(vst[i]==0){
vst[i]=1;
if(which==1){
ans=min(ans,dfs(i,pos,which+1));
}
else{
long long sto=pos+cows[last].right+cows[i].left;
ans=min(ans,dfs(i,sto,which+1));
}
vst[i]=0;
}
}
return ans;
}
int main(){
cin>>n;
cows[0].left=0;
cows[0].right=0;
for(int i=1;i<=n;i++){
cin>>cows[i].left;
}
for(int i=1;i<=n;i++){
cin>>cows[i].right;
}
cout<<dfs(0,1,1);
return 0;
}