80分求调
查看原帖
80分求调
1070431
ywtank楼主2024/11/2 07:06
#include<bits/stdc++.h>
using namespace std;
int a[20][20];
int ans=INT_MAX;
int g[10],b[10];//答案b 
void dfs(int i,int sumt,int suml){//进行到第i名运动员 花了sumt的时间 总路程 
	if(i>5 && suml>=25){
		if(sumt<ans){
			ans=sumt;
			for(int i=1;i<=5;i++){
				b[i]=g[i];
				g[i]=0;
			}
		}
		return;
	}
	if(i>5)return;
	if((5-i)*10<25-suml)return;
	for(int j=1;j<=10;j++){
		g[i]=j;
		dfs(i+1,sumt+a[i][j],suml+j);
		g[i]=0;
	}
}
int main(){
	for(int i=1;i<=5;i++){
		for(int j=1;j<=10;j++){
			cin >> a[i][j];
		}
	}
	dfs(1,0,0);
	cout << ans << "\n";
	for(int i=1;i<=5;i++)cout << b[i] << ' ';
	return 0;
} 

希望各位大佬帮忙看看验证码rp94

2024/11/2 07:06
加载中...