/
最近
.rdf
追記
編集
設定
本棚
翌日へ
前日へ
脳
l
o
g
[
2
0
2
4
0
4
0
8
]
2
0
2
4
年
0
4
月
0
8
日
(
月
)
[
A
t
C
o
d
e
r
]
先週末にあ
った
トヨタ自動車プログラミングコンテ
ス
ト
2
0
2
4
#
4
(
A
t
C
o
d
e
r
B
e
g
i
n
n
e
r
C
o
n
t
e
s
t
3
4
8
)
のふりかえりと精進について
。
■
A
問
題
「
P
e
n
a
l
t
y
K
i
c
k
」
。
サンプルを出力して気がついたけど、
o
o
x
の繰り返しを必要な長さ出力するだけだ
った
。
だけど各
i
についてそのつど判定する方が簡単だ
ったのでそのように
。
■
B
問
題
「
F
a
r
t
h
e
s
t
P
o
i
n
t
」
。
距離の比較をするのにル
ー
トはいらない
。
R
u
b
y
には
M
a
t
h
.
h
y
p
o
t
(
s
q
r
t
をと
る
)
の2乗の値を返すメソ
ッ
ドがあると思
ってリフ
ァレ
ン
スを見たけど見つからなか
った
。
たぶん
C
o
m
p
l
e
x
#
a
b
s
2
のことが頭にあ
ったのだと思う
。
解法は愚直総当たりで最初に見つか
ったものを答えにする
。
素直に書け
ば
「番号が小さいもの
」
という条件は自然に満たされる
。
■
C
問
題
「
C
o
l
o
r
f
u
l
B
e
a
n
s
」
。
色でグル
ープ化してグル
ープ内の最小値の最大値を出力する
。
要は悲観主義者が最もましな選択肢を選んだ場合がどうなるかという話
。
この
C
問題まではプログラミング言語の扱いが問われている
。
やりたいことが書けますかと
。
R
u
b
y
で参加しているなら
、
C
問題は
A
r
r
a
y
#
g
r
o
u
p
_
b
y
を知
っていますか
、
という問題だ
った
。
■
D
問
題
「
M
e
d
i
c
i
n
e
s
o
n
G
r
i
d
」
。
グラフですよね
。
S
と
T
と薬のマスを頂点として
、
同じ頂点を2度通らずに
S
から
T
へ到達できますかという問題
。
これは訪問済み頂点を記録して
D
F
S
でやろう
か
。
そして頂点間の繋がりがグリ
ッ
ドで与えられていて
、
探索をしなければ明らかにならない2段構えにな
っている
。
最初はきれいに2段に分けて解こうとしたんだけど
、
面倒くさくな
った
。
最初のグリ
ッ
ド探索のついでに到達可否の判断をしてもいいじ
ゃない
か
。
プライオリ
テ
ィ
キ
ュ
ーを使わずにテ
キ
ト
ーにキ
ュ
ーに探索地点を追加してエネルギ
ーを記録してい
った
。
これに
5
0
分くらいかけたんですよ
。
それはダメ
。
■
E
問
題
「
M
i
n
i
m
i
z
e
S
u
m
o
f
D
i
s
t
a
n
c
e
s
」
。
全方位木
D
P
。
頭が破壊されました
。
こういうのは終了したあとでじ
っくり落ち着いて書きたい
。
終了3分後
>
提出
#
5
2
1
1
4
5
6
6
(
R
E
)
。
頂点番号を1始まりのままにしていたのに
、
0
から
N
-
1
を処理対象にしてしま
ったせいでエラ
ーにな
っている
。
終了
1
3
分後
>
提出
#
5
2
1
1
5
9
3
8
(
A
C
)
。
結局惜しくはなか
った
。
今日にな
って全体が見通せる状態でイチから書いたもの
>
提出
#
5
2
1
7
9
3
3
1
(
A
C
)
。
最初からこれがすらすら書けないのは理解が遅い
ってことだよ
。
翌日へ
前日へ