大佬们帮忙解答一下吧,样例是通过的
查看原帖
大佬们帮忙解答一下吧,样例是通过的
689435
QYlucky楼主2023/11/14 21:08
#include<bits/stdc++.h>
using namespace std;
int s[5],t[5][21],l,r,minn=1e9,ans=0;
void work(int step,int n){
	if(step>n){
		minn=min(max(l,r),minn);
		return;
	}
	//左脑计算 
	l+=t[n][step];
	work(step+1,n);
	l-=t[n][step];//回溯
	//右脑计算 
	r+=t[n][step];
	work(step+1,n);
	r-=t[n][step];//回溯 
}
int main(){
	for(int i=1;i<=4;i++){
		cin>>s[i];
	}
	for(int i=1;i<=4;i++){
		for(int j=1;j<=s[i];j++){
			cin>>t[i][j];
		}
		l=0; r=0;
		work(1,s[i]);
		ans+=minn;
		minn=1e9;
	}
	cout<<ans;
    return 0;
}
2023/11/14 21:08
加载中...