梁乃元 • 1个月前
太简单了,所以不讲
cin >> n ;
for ( int i = 1 ; i <= n ; i ++ )
{
cin >> a [i] ;
}
∵ 选出一半的人
∴ 若1队人数\geq总人数的一半,则当前人只能进2队,反之亦然
dfs函数:
if ( cur > n )
{
maxs = max ( maxs , min ( t1 , t2 ) ) ;
return ;
}
if ( c1 < n / 2 )
{
dfs ( cur + 1 , t1 + a [cur] , t2 , c1 + 1 , c2 ) ;
}
if ( c2 < n / 2 )
{
dfs ( cur + 1 , t1 , t2 + a [cur] , c1 , c2 + 1 ) ;
}
return ;
评论: