10位同學依次登上一輛大巴,其中5個男同學,5個女同學,要求任何時候車上男同學的人數都不少於女同學的人數,不考慮有人下車的情況,請問總共有多少種上車順序?
WITH a AS(
SELECT 'm1' NAME
,1 VALUE
FROM dual
UNION ALL
SELECT 'm2' NAME
,1 VALUE
FROM dual
UNION ALL
SELECT 'm3' NAME
,1 VALUE
FROM dual
UNION ALL
SELECT 'm4' NAME
,1 VALUE
FROM dual
UNION ALL
SELECT 'm5' NAME
,1 VALUE
FROM dual
UNION ALL
SELECT 'fm1' NAME
,-1 VALUE
FROM dual
UNION ALL
SELECT 'fm2' NAME
,-1 VALUE
FROM dual
UNION ALL
SELECT 'fm3' NAME
,-1 VALUE
FROM dual
UNION ALL
SELECT 'fm4' NAME
,-1 VALUE
FROM dual
UNION ALL
SELECT 'fm5' NAME
,-1 VALUE
FROM dual
)
SELECT COUNT(*)
from a
,a a1
,a a2
,a a3
,a a4
,a a5
,a a6
,a a7
,a a8
,a a9
WHERE a.name<>a1.name
AND a.name<>a2.name AND a1.name<>a2.name
AND a.name<>a3.name AND a1.name<>a3.name AND a2.name<>a3.name
AND a.name<>a4.name AND a1.name<>a4.name AND a2.name<>a4.name AND a3.name<>a4.name
AND a.name<>a5.name AND a1.name<>a5.name AND a2.name<>a5.name AND a3.name<>a5.name AND a4.name<>a5.name
AND a.name<>a6.name AND a1.name<>a6.name AND a2.name<>a6.name AND a3.name<>a6.name AND a4.name<>a6.name AND a5.name<>a6.name
AND a.name<>a7.name AND a1.name<>a7.name AND a2.name<>a7.name AND a3.name<>a7.name AND a4.name<>a7.name AND a5.name<>a7.name AND a6.name<>a7.name
AND a.name<>a8.name AND a1.name<>a8.name AND a2.name<>a8.name AND a3.name<>a8.name AND a4.name<>a8.name AND a5.name<>a8.name AND a6.name<>a8.name AND a7.name<>a8.name
AND a.name<>a9.name AND a1.name<>a9.name AND a2.name<>a9.name AND a3.name<>a9.name AND a4.name<>a9.name AND a5.name<>a9.name AND a6.name<>a9.name AND a7.name<>a9.name AND a8.name<>a9.name
AND a.value>=0
AND a.value+a1.value>=0
AND a.value+a1.value+a2.value>=0
AND a.value+a1.value+a2.value+a3.value>=0
AND a.value+a1.value+a2.value+a3.value+a4.value>=0
AND a.value+a1.value+a2.value+a3.value+a4.value+a5.value>=0
AND a.value+a1.value+a2.value+a3.value+a4.value+a5.value+a6.value>=0
AND a.value+a1.value+a2.value+a3.value+a4.value+a5.value+a6.value+a7.value>=0
AND a.value+a1.value+a2.value+a3.value+a4.value+a5.value+a6.value+a7.value+a8.value>=0
AND a.value+a1.value+a2.value+a3.value+a4.value+a5.value+a6.value+a7.value+a8.value+a9.value>=0
;
604800