日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

四人过桥问题c语言编程,SQL趣题:四人过桥的问题

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 四人过桥问题c语言编程,SQL趣题:四人过桥的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳說中的微軟面試題:

有一群人A,B,C,D (人數>=2)要在夜里走過獨木橋過河,他們只有一把手電筒。四個人的速度不同,

過河分別需要1,2,5,10分鐘,橋上最多走兩個人,兩個人一起走時按速度慢的計算。過河一定要用手電筒。

請問最快的方法是如何安排,需要幾分鐘?

例子輸出:

A B,A,A C,A,A D? 19

表示:

A B 過去 2 分鐘

A?? 返回 1 分鐘

A C 過去 5 分鐘

A?? 返回 1 分鐘

A D 過去 10 分鐘

這個例子總共用19分鐘。

CREATE TABLE bridge_crossing (

name? VARCHAR2(10) PRIMARY KEY

,time? NUMBER

);

INSERT INTO bridge_crossing VALUES ('A', 1);

INSERT INTO bridge_crossing VALUES ('B', 2);

INSERT INTO bridge_crossing VALUES ('C', 5);

INSERT INTO bridge_crossing VALUES ('D', 10);

COMMIT;

以下是我的實現方法:

SQL> set timing on;

SQL> with t as

2? (select rownum rn,t.name,t.time from bridge_crossing t),

3? tt as (select t1.name n1,t2.name n2,t3.name n3,t4.name n4,t5.name n5,t6.name n6,

4? t1.time time1,t2.time time2,t3.time time3,t4.time time4,t5.time time5,t6.time time6,

5? greatest(t1.time,t2.time)+least(t1.time,t2.time)+

6? greatest(t3.time,t4.time)+

7? least(greatest(t1.time,t2.time),t3.time,t4.time)+

8? greatest(t5.time,t6.time) sum_time

9? from t t1,t t2,t t3,t t4,t t5,t t6

10? where t1.name<>t2.name and t3.name<>t4.name and t5.name<>t6.name

11? and t1.rn12? and instr(t1.name||t2.name||t3.name||t4.name||t5.name||t6.name,'A',1,1)>0

13? and instr(t1.name||t2.name||t3.name||t4.name||t5.name||t6.name,'B',1,1)>0

14? and instr(t1.name||t2.name||t3.name||t4.name||t5.name||t6.name,'C',1,1)>0

15? and instr(t1.name||t2.name||t3.name||t4.name||t5.name||t6.name,'D',1,1)>0

16? and t1.name||t2.name<>t3.name||t4.name

17? and t3.name||t4.name<>t5.name||t6.name),

18? ttt as (select min(sum_time) min_time from tt)

19? select n1,n2,n3,n4,n5,n6,sum_time from tt,ttt where tt.sum_time=ttt.min_time

20? /

N1???????? N2???????? N3???????? N4???????? N5???????? N6?????????? SUM_TIME

---------- ---------- ---------- ---------- ---------- ---------- ----------

A????????? B????????? C????????? D????????? A????????? B????????????????? 17

已用時間:? 00: 00: 00.09

SQL>

點評:雖然這種方法有局限性,但思路還是可以的,至少能將最佳結果過濾出來!

總結

以上是生活随笔為你收集整理的四人过桥问题c语言编程,SQL趣题:四人过桥的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。