噢莫加纳加加加 • 1天前
#include <bits/stdc++.h>
using namespace std;
int a[100], b[100];
int book[100];
int n;
int ans = 1e9;
void dfs(int x, int y,int z){
if(y == n){
ans = min(ans, z);
return;
}
for(int i = 1;i <= n;i++){
if(book[i] == 1|| x == i){
continue;
}
book[i] = 1;
y++;
// cout << max(b[x],a[i]) << ' ';
dfs(i,y,z + max(b[x],a[i]) + 1);
y--;
// cout << y;
book[i] = 0;
}
}
int main(){
cin >> n;
for(int i = 1;i <= n;i++)cin >> a[i];
for(int i = 1;i <= n;i++)cin >> b[i];
for(int i = 1;i <= n;i++){
book[i] = 1;
dfs(i,1,1);
book[i] = 0;
}
cout << ans;
return 0;
}
评论:
请先登录,才能进行评论