本文主要是介绍A、B、C、D四人过桥,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
某天晚上有A、B、C、D四个人要通过一座桥,他们只有一个手电筒,每次过桥都需要手电筒照明,桥上每次最多可同时过两个人,他们用最少次数全部从一边到达桥另一边有多少种方案。请用一条sql完成并输出所有方案(列出每个方案中每个人过桥次数)。答案示例:
A B C D
1 2 3 4
--------------------------------------------答题思路-------------------------------------------------------------------------------------------------------
应该是3去(2人),2回(1人来接),一共最少过桥3*2+2=8次
(我算最少次数的思路是 第一个过桥的和最后一个过桥的都一次 中间两个人通过桥的次数之和要为六 才能都过河 这样和也是为8次)
也就是要满足下面条件的就是解,
1、每人至少过桥1次
2、每人过桥奇数次(偶数就回来了)
3、总和是8次(个人最大5次)
-----------------------------------------------SQL答案-------------------------------------------------------------------------------------------------
with
tab
as
(
select
1
as
n
from
dual
union
all
select
3
from
dual
union
all
select
5
from
dual)
select
a.n
as
a,b.n
as
b,c.n
as
c,d.n
as
d
from
tab a,tab b,tab c,tab d
where
a.n + b.n + c.n + d.n = 8
--------------------------------方案结果---------------------------------------------
这篇关于A、B、C、D四人过桥的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!