令和6年春期試験 午後問3【プログラミング】

管理人  
(No.1)
令和6年春期試験 午後問3(プログラミング)についての投稿を受け付けるスレッドです。
2024.4.21 00:08
たかしさん 
(No.2)
コメント0(笑)
もう応用文系マネジメントにこんな誰も選ばない科目なんて要らん
2024.04.21 15:57
匿名さん 
(No.3)
ダイクストラ法の文字が見えた瞬間捨てました。
解いたところで、付け焼き刃じゃ時間が足りない...
2024.04.21 16:15
ryuさん 
(No.4)
ア 17
イ dist[k]がminDistより小さい
ウ dist[k]
エ dist[curNode]+edge[curNode, k]
オ 25, viaNode[k] <- curNode
カ ア
キ 更新起点ノード
ク N^2

自信はありませんが,どなたか意見をください...
2024.04.21 16:22
Masaさん 
(No.5)
ryuさんと本当に全て同じでびっくりしました!
僕も自信が無いのでなんとも言えませんが、同じ回答の方がいて安心しました。
2024.04.21 16:26
meltdownさん 
(No.6)
ア 17
イ dist[k] < minDist
ウ dist[k]
エ edge[curNode, k] + dist[curNode]
オ 26(25でもいけそう) viaNode[k] <- curNode
カ ア
キ 更新起点ノード
ク N^2

当方初受験なので条件式系は問題冊子先頭にある疑似言語の形式で書くのかなと思って演算子を使って答えてしまったのですが、改めて過去問を見ると「dist[k]がminDistより小さい」と表記するのがお約束なのかな?  解釈の範疇ということで正解にしてもらえる可能性も十分ある気がしますがやや不安です
2024.04.21 16:31
しょへさん 
(No.7)
26にした気がしますが、あとは私も概ね同じです。
2024.04.21 16:32
ryuさん 
(No.8)
Masaさん,泣きそうです.一緒でありがとうございます(合っているとは限らない...)
25か26は最小にしなければいけないので25ではないかと思います.
2024.04.21 16:37
Masaさん 
(No.9)
ryuさん一緒に泣きましょう(?)
最後ギリギリで26から25に書き換えました!
2024.04.21 16:40
ななしさん 
(No.10)
競技プログラミングではお馴染みのダイクストラ

競プロ勢にとっては大喜びのボーナス問題
競プロやってない勢にとってはかなり難しいアルゴリズムなので捨て問ではないかと
2024.04.21 17:04
solさん 
(No.11)
オのコード、”<-“ではなくて’=‘で書いてしまった…
2024.04.21 17:14
Temさん 
(No.12)
solさん
一緒です。イコールで書いちゃいました。
2024.04.21 17:24
solさん 
(No.13)
Temさん
うっかりしちゃいましたよね…!バツにされちゃうだろうなあ
2024.04.21 17:27
いどさん 
(No.14)
エの足し算を見逃してたぁ…。

ア 17
イ dist[k]がminDistより小さい
ウ dist[k]
エ edge[curNode, k]
オ viaNode[k] <- curNode、25
カ ア
キ 更新起点ノード
ク N^2

クも自信ないですが、皆さんと同じで少しホッとしてきてます。
2024.04.21 17:54
kurage4さん 
(No.15)
”エ”はminDist+edge[curNode, k]でも大丈夫ですかね……
2024.04.21 17:58
kurage4さん 
(No.16)
”オ”の代入演算子は僕も多分イコールで書いちゃいました!
大目に見てくれないかな……
2024.04.21 18:02
たーとるさん 
(No.17)
設問3-1で、25か26は最小を選ばないといけないというのはどこに書いてありましたか??
問題文に「各ノードの始点ノード距離を更新するたびに、」とあったので、始点ノード距離を更新した後→つまり26行目の後なのかなと思いました。
2024.04.21 18:56
ねこさん 
(No.18)
kurage4さん
私も同じ答えです!
dist[curNode]も同じ意味だけどminDistをわざわざ用意してるならここに使うんだろうなと思って書きました。
2024.04.21 20:15
kurage4さん 
(No.19)
ねこさん
ですよね!少し安心しました!
2024.04.21 20:48
なにもわからんさん 
(No.20)
ア 17
イ dist[k] < minDist
ウ dist[k]
エ minDist + edge[curNode, k]
オ viaNode[k] <- curNode、25
カ ア
キ 更新起点ノード
ク N^2

>たーとるさん
設問3 (1) の問題文に「行の番号については、最も小さい番号を答えること」とありますね。
2024.04.21 21:32
れざさん 
(No.21)
クはN^2にしたけど、プログラムをよく見たら、
for文の中にもう1つのfor文が入っているわけではないので、
Nが正解な気がしてきました。
2024.04.21 22:18
佐賀さん 
(No.22)
オーダーのNって小文字じゃダメですか?
2024.04.21 22:23
てきとうに埋めましたさん 
(No.23)
計算量は大文字でNにしましたがどうでしょうか…!
2024.04.21 22:46
yuさん 
(No.24)
for文がNのオーダーで、whileを抜けるためには(curNodeがGOALにいくには)そのfor文を抜けるループを最大N回繰り返すからN^2だと思います。
2024.04.21 22:59
初心者さん 
(No.25)
forが入れ子になっていない、定数倍はオーダーに影響しない、を考えてNにしました…
2024.04.21 23:21
yamayaさん 
(No.26)
計算量
N  +  N-1  +  N-2…
=N^2  -  N(N-1)/2
=(N^2+N)/2
みたいにけいさんしちゃったんですが、シンプルに最大値Nと最大値NでN^2にしたほうがよかったですかね…?  
2024.04.21 23:31
れざさん 
(No.27)
ああそうか。
while文が最大でN回繰り返されて、while文の中のfor文がNのオーダーなので、
全体のオーダーはN^2ということですね。
2024.04.21 23:48
トムさん 
(No.28)
ただただ難しかった。

問題分からどのようなアルゴリムか全然想定ができない。
プログラム見た時にwhile(true)とか書いてあって「は?」って言いそうになった…。

これ解けた人は素直にすごい…
2024.04.22 00:24
chさん 
(No.29)
始点ノードを更新するたびにってとこから更新した後なのかなと思って26にしたけど、たしかに25ともとれるなー
ダイクストラ法を知らないとなかなか厳しい問題な気がしますね
2024.04.22 00:47
もんぴさん 
(No.30)
26にしたや
更新するたびにって書き方がやらしい
2024.04.22 01:22
既合格者さん 
(No.31)
不合格っぽい人の投稿を見ると一番心が落ち着くんですよねぇ。
2024.04.22 13:31
既合格者さん 
(No.32)
競技プログラミングで常に出るような内容をろくに解けない人が掲示板でいるけど、基礎情報技術者試験を合格してきた人レベルだから、俺の世界ランクがとてつもなく上昇するぅ
2024.04.22 13:49
pienさん 
(No.33)
(基礎情報技術者試験ってなんだろう…)
2024.04.22 14:31
gaharaさん 
(No.34)
エ edge[curNode, k]+dist[curNode]
みたいに順序違うくても正解ですよね...?
2024.04.23 17:10

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため当サイトとIPAサイト以外のURLを含む記事の投稿は禁止されています。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop