N人過橋問題的求解(微軟試題) 面試
微軟面試題過橋問題在IT業內幾乎已變成一個衆所周知的問題,問題以下:
4我的在晚上過一座小橋,過橋時必需要用到手電筒,只有一枚手電筒,
每次最多隻能夠有兩人經過,4我的的過橋所需時間分別爲1分鐘、2分鐘、
5分鐘、10分鐘,試問最少須要多長時間4人才能夠所有經過小橋? 算法
個人思路是使用使用圖論的方法來解決, 將橋一側人員的組合做爲一個狀態
也即圖的頂點看待, 一次過橋或回來做爲圖的邊, 用求取圖的最短路徑算法
求出最短期, 程序以下:
http://vdisk.weibo.com/s/l8UZk .net
作完程序上網搜索, 發現了兩篇一樣探討此問題的文章, 尤爲是第二篇的方法
和我想的如出一轍, 呵呵...
http://blog.csdn.net/fengyud/article/details/4647139
http://blog.csdn.net/drzhouweiming/article/details/1340741 blog