各位大佬们,帮忙看看哪里出错了,一直没输出,困扰半天了,谢谢各位!!!
查看原帖
各位大佬们,帮忙看看哪里出错了,一直没输出,困扰半天了,谢谢各位!!!
1041943
hyw7楼主2023/9/3 17:41
#include<bits/stdc++.h>
using namespace std;

int x[4];
int nums[4][25];
int ret[4]={INT_MAX,INT_MAX,INT_MAX,INT_MAX};
int sum=0;

void dfs(int curRow,int curCol,int left,int right)
{
	if(curRow>=4)
	   return ;
	if(curCol>=x[curRow])
	{
		if(max(left,right)<ret[curRow])
		    ret[curRow]=max(left,right);
		dfs(curRow+1,0,0,0);
	}
	dfs(curRow,curCol+1,left+nums[curRow][curCol],right);
	dfs(curRow,curCol+1,left,right+nums[curRow][curCol]);
}

int main()
{
	for(int i=0;i<4;i++)
	    cin>>x[i];
	for(int i=0;i<4;i++)
	{
		for(int j=0;j<x[i];j++)
		{
			cin>>nums[i][j];
		}
	}
	dfs(0,0,0,0);
	for(int i=0;i<4;i++)
	   sum+=ret[i];
	cout<<sum;
	return 0;
}



2023/9/3 17:41
加载中...