好斗的牛
查看原帖
好斗的牛
1674226
markwu1楼主2025/7/21 19:20

样例都对,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;
}
2025/7/21 19:20
加载中...