(1:29) 今日はEが昼間外出するとのことで自宅で論理出勤。
昼食はロールケーキ(おいしい)。
(ただし、ロールケーキの中では80点ぐらい)
(ロールケーキの中で80点ということは、食品全体としては98点ということだ)
(0点のロールケーキでも90点はあるので)
(そうか?)
(0点のロールケーキ、砂糖が入ってないとかなのでは)
(そもそも、粘土でできているとかもありえる)
(どうでもいい)
Eは3時ぐらいに帰ってきた。
業務では正規表現の書き間違いでセルフReDoSみたいなことをやってしまっていた。
遅いから並列実行していたということもあり、原因の特定に時間がかかった。
今日の進捗は一文字の削除だけ。
やれやれ。
子供は5時過ぎに放課後デイサービスから帰ってきた。
そこからはろくに仕事にならない。
一応5時半論理退勤。
晩ご飯は中華名菜® 四川辛口 麻婆豆腐(おいしい)。
丼のご飯にかけて麻婆丼にするのだが、その丼に味噌入りスープ(今日のは確実に味噌汁ではなかった)(具の量などの要素が絡んで、味噌汁のプロトタイプからの距離が十分遠くなった)をそのまま入れた。
非丁寧な暮らし。
その後はプールへ。
夜、AtCoder典型問題の2問目をやってみた。
長さNの有効なカッコ列を辞書順に列挙せよというもの。
長さN-1の有効なカッコ列をxとして、長さNは(x)とx()を返すという感じでやってみた。
(ツッコみどころ)
C++のstd::transform()を使ってみた。
するとエラーが出る。
エラーメッセージを見てもよくわからない。
(C++ではそれが普通)
いろいろ苦労した結果、std::transform()の3番目の引数は出力用のイテレーターということでstd::back_inserter()を使わないといけないということだった。
(.begin()でやってしまっていた)
実行してみると、模範解答よりも数が少ない。
出力を見比べてみると理由がわかった。
ぼくのやつでは、()(())とかが生成できない。
(考えてみたらそれはそうだ)
(ツッコみどころ回収)
模範解答は、すべてのパターンのカッコ列("(((((("とかも含めて)を生成して、その中から合法なやつだけを出力するという単純なやつだった。
合法列だけ生成するやり方でいい感じにできないだろうか?
とか考えているうちに遅くなってしまった…。