令和6年科目B問3 グラフの表を隣接行列に変換する二次元配列プログラム

今回は、令和6年科目B公開問題問3を見ていきたいと思います。

隣接行列のプログラムとなっています。
あまり難しい解説は無しに進めていきます。

例えば1行3列だと1になっていて、3行1列だとこちらも1の数字が入っています。

edgeList[1][1]が「1」の場合
edgeList[1][2]が「3」の場合

選択肢ア adjMatrix[u, u]← 1
こちらは、uが1の場合、adjMatrix[1,1]となり1行3列に1を入れる条件が成立しません。

選択肢イ
adjMatrix[u, u]←1
adjMatrix[v, v]←1

こちらも、uが1、vが1なので、adjMatrix[1, 1]←1だと、1行3列に1を入れる条件、3行1列に1を入れる条件が成立しません。

ウの場合
adjMatrix[u, v]←1
こちらは、1行3列に1を入れる条件は成立します。しかし、3行1列の条件が成立しません。

エの場合
adjMatrix[u, v]←1
adjMatrix[v, u]←1

1行3列に1を入れる条件、3行1列に1を入れる条件どちらも成立します。


オの場合
adjMatrix[v, u]←1

3行1列の条件は満たします。
しかし、1行3列に1を格納する記載がないです。


カの場合
adjMatrix[v, v]←1
こちらは、3行3列目に1を入れることになります。

上記検証の結果、エが正しいことがわかります。

IPA 公開問題(問題冊子・解答例)
https://www.ipa.go.jp/shiken/mondai-kaiotu/sg_fe/koukai/2024r06.html

いいなと思ったら応援しよう!