代码:
#include<bits/stdc++.h>
using namespace std;
int n,ans=1e9,a[15],b[15];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
if(n==1){
ans=1;
}
if(n==2){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
ans=min(ans,max(b[r],a[s])+2);
}
}
}
if(n==3){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+3);
}
}
}
}
if(n==4){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
for(int u=1;u<=n;u++){
if(u==r||u==s||u==t) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+max(b[t],a[u])+4);
}
}
}
}
}
if(n==5){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
for(int u=1;u<=n;u++){
if(u==r||u==s||u==t) continue;
for(int v=1;v<=n;v++){
if(v==r||v==s||v==t||v==u) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+max(b[t],a[u])+max(b[u],a[v])+5);
}
}
}
}
}
}
if(n==6){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
for(int u=1;u<=n;u++){
if(u==r||u==s||u==t) continue;
for(int v=1;v<=n;v++){
if(v==r||v==s||v==t||v==u) continue;
for(int w=1;w<=n;w++){
if(w==r||w==s||w==t||w==u||w==v) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+max(b[t],a[u])+max(b[u],a[v])+max(b[v],a[w])+6);
}
}
}
}
}
}
}
if(n==7){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
for(int u=1;u<=n;u++){
if(u==r||u==s||u==t) continue;
for(int v=1;v<=n;v++){
if(v==r||v==s||v==t||v==u) continue;
for(int w=1;w<=n;w++){
if(w==r||w==s||w==t||w==u||w==v) continue;
for(int x=1;x<=n;x++){
if(x==r||x==s||x==t||x==u||x==v||x==w) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+max(b[t],a[u])+max(b[u],a[v])+max(b[v],a[w])+max(b[w],a[x])+7);
}
}
}
}
}
}
}
}
if(n==8){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
for(int u=1;u<=n;u++){
if(u==r||u==s||u==t) continue;
for(int v=1;v<=n;v++){
if(v==r||v==s||v==t||v==u) continue;
for(int w=1;w<=n;w++){
if(w==r||w==s||w==t||w==u||w==v) continue;
for(int x=1;x<=n;x++){
if(x==r||x==s||x==t||x==u||x==v||x==w) continue;
for(int y=1;y<=n;y++){
if(y==r||y==s||y==t||y==u||y==v||y==w||y==x) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+max(b[t],a[u])+max(b[u],a[v])+max(b[v],a[w])+max(b[w],a[x])+max(b[x],a[y])+8);
}
}
}
}
}
}
}
}
}
if(n==9){
for(int r=1;r<=n;r++){
for(int s=1;s<=n;s++){
if(s==r) continue;
for(int t=1;t<=n;t++){
if(t==r||t==s) continue;
for(int u=1;u<=n;u++){
if(u==r||u==s||u==t) continue;
for(int v=1;v<=n;v++){
if(v==r||v==s||v==t||v==u) continue;
for(int w=1;w<=n;w++){
if(w==r||w==s||w==t||w==u||w==v) continue;
for(int x=1;x<=n;x++){
if(x==r||x==s||x==t||x==u||x==v||x==w) continue;
for(int y=1;y<=n;y++){
if(y==r||y==s||y==t||y==u||y==v||y==w||y==x) continue;
for(int z=1;z<=n;z++){
if(z==r||z==s||z==t||z==u||z==v||z==w||z==x||z==y) continue;
ans=min(ans,max(b[r],a[s])+max(b[s],a[t])+max(b[t],a[u])+max(b[u],a[v])+max(b[v],a[w])+max(b[w],a[x])+max(b[x],a[y])+max(b[y],a[z])+9);
}
}
}
}
}
}
}
}
}
}
cout<<ans;
return 0;
}
可以粘贴一下试试,能AC。