Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】モノグサプログラミングコンテスト2024(AtCoder Beginner Contest 345)- 参加記 | 茶コーダーが解くAtCoder

atcoder.jp

コンテスト時間: 2024-03-16(土) 21:00 ~ 2024-03-16(土) 22:40 (100分)

A - Leftrightarrow

Difficulty: 41
解答時間: 7:58

  • 「双方向矢印型」という条件を満たす文字列かどうかを判定していく問題。
  • <=>とがこの順に並んでいなければならないことを判定する部分を実装し忘れていて5分ほど詰まってしまった。問題文はよく読もう (自戒) 。

yuulis.hatenablog.com

B - Integer Division Returns

Difficulty: 91
解答時間: 3:52

  • 負の数の天井関数についての問題。
  • 正の数に関しての天井関数は自作していたが、負の数に対応しておらず。ただ、よく考えれば C++ の除算において、割り切れないときは常に  0 の方へ丸める処理が起こるので、負の数の時はそのまま除算をしてしまえば天井関数と同じ処理になる。

yuulis.hatenablog.com

C - One Time Swap

Difficulty: 469

  • 「ある文字列  S から2文字を選んで位置を入れ替える」という処理を1回行ってできる文字列について、そのあり得る種類を求める問題。
  •  S に現れる英字を、種類をkey、個数をvalueとしてmapに記録しておく。
  • いろいろ実験してみると、主に異なる2文字の英字  c_1, c_2 を選ぶときに、 map[c_1 \times map[c_2]] 通りの場合の数があるのでそれを加算していけばよいはずなのだが、mapの全要素を  O(n^2) の2重ループで全探索する方法しか浮かばず...

yuulis.hatenablog.com

結果

Performance: 497
Rating: 614 → 603 (-11)

atcoder.jp

A問題で詰まった点が悔やまれるのと、できればC問題は解きたかった...

復帰後初Rated参加だったから、という言い訳をしておく。 ←おい