HOME»基本情報技術者試験掲示板»平成29年春期午後問8
投稿する

平成29年春期午後問8 [4550]

 勉強中さん(No.1) 
このアルゴリズムなんですけど
問題と同じ条件の場合fixed[2]が一生falseになって
無限に続くことになりませんか?
2022.11.02 10:17
nsさん(No.2) 
FE シルバーマイスター
プログラムの終了までトレースして、pRoute、pDist、pFixedの内容を書き出すと以下のようになりました。これをご自身のトレースと見比べてみてください。
※pRouteは設問では初期値をセットしていませんが、とりあえず-1として書き出しています。
※各値はループの最初(12行目と13行目の間)の状態です。
ループ8周目にpFixedが全てtrueになっているため、21行目のbreakでループを抜けます。
地点0から地点6までは0→1→4→2→5→6と進むのが最短で、その距離は13であることがわかりますね。

1周目
pRoute = {-1,-1,-1,-1,-1,-1,-1}
pDist = {0,∞,∞,∞,∞,∞,∞}
pFixed = {f,f,f,f,f,f,f}

2周目
pRoute = {-1,0,0,0,-1,-1,-1}
pDist = {0,2,8,4,∞,∞,∞}
pFixed = {t,f,f,f,f,f,f}

3周目
pRoute = {-1,0,0,0,1,-1,-1}
pDist = {0,2,8,4,5,∞,∞}
pFixed = {t,t,f,f,f,f,f}

4周目
pRoute = {-1,0,0,0,1,3,-1}
pDist = {0,2,8,4,5,12,∞}
pFixed = {t,t,f,t,f,f,f}

5周目
pRoute = {-1,0,4,0,1,3,4}
pDist = {0,2,7,4,5,12,14}
pFixed = {t,t,f,t,t,f,f}

6周目
pRoute = {-1,0,4,0,1,2,4}
pDist = {0,2,7,4,5,10,14}
pFixed = {t,t,t,t,t,f,f}

7周目
pRoute = {-1,0,4,0,1,2,5}
pDist = {0,2,7,4,5,10,13}
pFixed = {t,t,t,t,t,t,f}

8周目
pRoute = {-1,0,4,0,1,2,5}
pDist = {0,2,7,4,5,10,13}
pFixed = {t,t,t,t,t,t,t}
2022.11.03 20:32
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop