→ babysilkwarm:我..真的不知道它是啥意思.. 推140.112.228.214 10/11
第三題老鼠怪怪的吧..
如果按照題設要用第一題老鼠走過的經驗來做第二小題的最短路徑
在還有路沒走的情況下應該沒辦法保證吧..
可能還沒搜尋到的路反而是最近的
那如果bfs直接找到最佳解叫老鼠走..然後兩小提的答案依樣
可以說我的老鼠特別聰明吧
每次都直接看到最佳路徑^^
※ 引述《babysilkwarm (鞋子廢了!!)》之銘言:
: 1. 計算組合數程式。
: 已知C(m,n)= m! / (m-n)!*n! ,其中0<m<200, 0<n<200且
: n! = n*(n-1)*(n-2)* ...*2*1。
: 請從磁片combine.txt檔案中讀入若干組m,n的資料,每組一列,計算出每組m,n的組合數。
: 例如:
: combine.txt檔案的內容為:
: 5 3
: 17 5
: 30 24
: 輸出:
: 5 3 的組合數為 10
: 17 5 的組合數為 6188
: 30 24 的組合數為 593775
: 2. 解析e-mail帳號程式。
: 假設我們規定所有e-mail的帳號型態如下:
: boy@cc.ncue.edu.tw
: 此帳號可解析為:
: 使用者名稱:boy
: 伺服器名稱:cc
: 機關名稱:ncue
: 組織名稱:edu
: 國家名稱:tw
: 請設計一程式可以從鍵盤輸入e-mail帳號,解析出此e-mail帳號的機關名稱。
: 3. 模擬老鼠走迷宮遊戲
: 有一個10X10大小的迷宮(請從磁片Magic.txt檔案中讀入迷宮資料,其中O代表通路,X代
: 表此路不通,S代表入口,E代表出口),請模擬老鼠從入口進入,然後找出一條路徑可以到
: 達出口。請依序輸出以下兩種結果:(1)第一次嘗試時,請以@逐步標示老鼠所有走過的路徑
: ,(2)第二次執行時,請根據第一次尋找路徑獲得的知識,模擬從入口到出口的最短路徑(請
: 以@標示路徑)。
: 例如:
: Magic.txt 的資料內容如下:
: XXXXXXXXXX
: XOOOOOOOXX
: XOXOXOXXOE
: XXOXOOXOOX
: XXOXOOOXOX
: SOOOOXOOOX
: XOOOXOXOOX
: XOXOOOXOXX
: XOOXOXOOXX
: XXXXXXXXXX
: 輸出:
: (1)老鼠走過的路徑:
: XXXXXXXXXX
: XOOOOOOOXX
: XOXOXOXX@E
: XXOXOOXO@X
: XXOX@@@X@X
: S@@@@X@@@X
: XOOOXOX@@X
: XOXOOOX@XX
: XOOXOX@@XX
: XXXXXXXXXX
: (2)最短路徑:
: XXXXXXXXXX
: XOOOOOOOXX
: XOXOXOXX@E
: XXOXOOXO@X
: XXOX@@@X@X
: S@@@@X@@@X
: XOOOXOXOOX
: XOXOOOXOXX
: XOOXOXOOXX
: XXXXXXXXXX
: 4. 模擬一砲兵發射一砲彈,射擊距離D,高度H的一個目標。
: 使用者輸入砲彈的速度v,目標的距離D與高度H,求出砲彈應以多少仰角度θ(徑度量)發
: 射,多少時間t(秒)後射中目標?並請繪出砲彈的飛行軌跡。
: 請參考下面運動公式:
: H(高度)= v(砲彈速度)×sinθ×t(時間)- (1/2) ×g (重力加速度) × t2
: D(距離)= v ×cosθ×t
: g 為 9.8 公尺/秒2,θ為徑度量(0 ~ π/2),速度單位為 公尺/秒,時間單位為秒,高度
: 與距離單位為公尺。
: 註:1.砲彈與目標物之距離在1公尺內視同命中目標。
: 2.若使用者輸入之數據超過砲彈所能達到的範圍,請於螢幕上告知使用者。
: 例如:
: 輸入:
: 砲彈的速度v:300
: 目標的距離D:2000
: 目標的高度H:500
: 輸出:
: 砲彈發射仰角度θ: 0.357589 度
: 射中目標時間t: 7.11686 秒
: 參考測試資料:
: 1. 輸入:v = 100,D = 500,H = 100 輸出:θ = 0.468175 t =5.60291
: 2. 輸入:v = 400,D = 2500,H = 150 輸出:θ = 0.136802 t =6.30894
: 3. 輸入:v = 200,D = 50000,H = 500 輸出:無法命中目標
: 5. 一個NxN之中文字型總共會有N*N個位元(bit) 所組成,這些位元依序代表每一橫列中的
: 每一直欄是否要顯示亮點的對應位元值,"1"表示要顯示亮點,"0"表示不顯示亮點。以下
: 我們寫一程式模擬顯示字型之動作。
: 有一個文字檔font.txt存放著由字元0與1所組成且長度為256之字串,也就是代表一個16x1
: 6之中文字型。請設計一程式根據以下之規則,將此一中文字型顯示在螢幕上:依序讀出字
: 串中的每一個字元,如果讀出的字元是1則顯示"*",否則則顯示空白字元,而且每讀出十
: 六個字元即必須換行顯示。
: 例如:
: 為了說明方便,我們以4x4的中文字型舉例。因為一個4x4的中文字型是由16個點所組成,
: 所以檔案中會存放16個字元,假設其內容是1111001001001000,則會於螢幕輸出以下四行
: 之結果:
: ****
: *
: *
: *
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.104.6