c++9TLE求改
查看原帖
c++9TLE求改
759152
yinbe楼主2023/7/23 10:08
#include<iostream>
using namespace std;
int s[10],a[10][25],Min=100000000,times;
void dfs(int t,int left,int right,int i)
{
	if(t>4)
	{
		Min=min(Min,times);
		return;
	}
	if(i>s[t])
	{
		times+=max(left,right);
		dfs(t+1,0,0,1);
		times-=max(left,right);
		return;
	}
	dfs(t,left+a[t][i],right,i+1);
	dfs(t,left,right+a[t][i],i+1);
	return;
}
int main()
{
	for(int i=1;i<=4;i++)
	{
		scanf("%d",&s[i]);
	}
	for(int i=1;i<=4;i++)
	{
		for(int j=1;j<=s[i];j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	dfs(1,0,0,1);
	printf("%d",Min);
	return 0;
}
2023/7/23 10:08
加载中...