“能 AC 就是好代码”
2026-09-06 14:27:18
发布于:广东
10阅读
0回复
0点赞



#include<bits/stdc++.h>
using namespace std;struct node{int aa,bb;}dd[100];int main(){int n;cin>>n;for(int i=1;i<=n;i++)cin>>dd[i].aa;for(int i=1;i<=n;i++)cin>>dd[i].bb;int ans=1e9;if(n==2){for(int a=1;a<=n;a++) for(int b=1;b<=n;b++)if(a!=b){int sum=n;sum+=max(dd[a].bb,dd[b].aa);ans=min(ans,sum);}}if(n==3){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)if(a!=b&&a!=c&&b!=c){int sum=n;sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);ans=min(ans,sum);}}if(n==4){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)for(int d=1;d<=n;d++)if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d){int sum=n;sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);sum+=max(dd[c].bb,dd[d].aa);ans=min(ans,sum);}}if(n==5){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)for(int d=1;d<=n;d++)for(int e=1;e<=n;e++)if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e){int sum=n;sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);sum+=max(dd[c].bb,dd[d].aa);sum+=max(dd[d].bb,dd[e].aa);ans=min(ans,sum);}}if(n==6){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)for(int d=1;d<=n;d++)for(int e=1;e<=n;e++)for(int f=1;f<=n;f++)if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e&&a!=f&&e!=f&&b!=f&&c!=f&&d!=f){int sum=n;sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);sum+=max(dd[c].bb,dd[d].aa);sum+=max(dd[d].bb,dd[e].aa);sum+=max(dd[e].bb,dd[f].aa);ans=min(ans,sum);}}if(n==7){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)for(int d=1;d<=n;d++)for(int e=1;e<=n;e++)for(int f=1;f<=n;f++)for(int g=1;g<=n;g++)if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e&&a!=f&&e!=f&&b!=f&&c!=f&&d!=f&&a!=g&&b!=g&&c!=g&&d!=g&&e!=g&&f!=g){int sum=n;sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);sum+=max(dd[c].bb,dd[d].aa);sum+=max(dd[d].bb,dd[e].aa);sum+=max(dd[e].bb,dd[f].aa);sum+=max(dd[f].bb,dd[g].aa);ans=min(ans,sum);}}if(n==8){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)for(int d=1;d<=n;d++)for(int e=1;e<=n;e++)for(int f=1;f<=n;f++)for(int g=1;g<=n;g++)for(int h=1;h<=n;h++){int sum=n;if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&d!=e&&d!=f&&d!=g&&d!=h&&e!=f&&e!=g&&e!=h&&f!=g&&f!=h&&g!=h){sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);sum+=max(dd[c].bb,dd[d].aa);sum+=max(dd[d].bb,dd[e].aa);sum+=max(dd[e].bb,dd[f].aa);sum+=max(dd[f].bb,dd[g].aa);sum+=max(dd[g].bb,dd[h].aa);ans=min(ans,sum);}}}if(n==9){for(int a=1;a<=n;a++)for(int b=1;b<=n;b++)for(int c=1;c<=n;c++)for(int d=1;d<=n;d++)for(int e=1;e<=n;e++)for(int f=1;f<=n;f++)for(int g=1;g<=n;g++)for(int h=1;h<=n;h++)for(int i=1;i<=n;i++){int sum=n;if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&d!=e&&d!=f&&d!=g&&d!=h&&e!=f&&e!=g&&e!=h&&f!=g&&f!=h&&g!=h&&a!=i&&b!=i&&c!=i&&d!=i&&e!=i&&f!=i&&g!=i&&h!=i){sum+=max(dd[a].bb,dd[b].aa);sum+=max(dd[b].bb,dd[c].aa);sum+=max(dd[c].bb,dd[d].aa);sum+=max(dd[d].bb,dd[e].aa);sum+=max(dd[e].bb,dd[f].aa);sum+=max(dd[f].bb,dd[g].aa);sum+=max(dd[g].bb,dd[h].aa);sum+=max(dd[h].bb,dd[i].aa);ans=min(ans,sum);}}}cout<<ans;return 0;}
这里空空如也

有帮助,赞一个