Yuulis.log

Yuulis.log

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

【AtCoder】トヨタ自動車プログラミングコンテスト2025(AtCoder Beginner Contest 389) - 参加記 | 緑コーダーが解くAtCoder

atcoder.jp

コンテスト時間: 2025-01-18(土) 21:00 ~ 2025-01-18(土) 22:40 (100分)

A - 9x9

Difficulty: 8

解答時間: 1:02


  • 1文字目が数字、2文字目が文字x、3文字目が数字であるような3文字の文字列  S が与えられるので、  S の2つの数の積を求めよ。

  • 1文字目を数字に変換するのはS[0] - '0'で可能。あとは普通に計算するだけ。
  • 久々の文字→数字変換が登場。

B - tcaF

Difficulty: 25

解答時間: 3:04


  •  2 以上の整数  X に対して、  N!=X を満たすような正の整数  N を求めよ。

  • 入力の最大ケースが与えられているので、  N は最大でも  20 だということが分かる。この範囲なら愚直に  N = 2, 3, \cdots で計算していけばよい。

C - Snake Queue

Difficulty: 255

解答時間: 12:52


  • ヘビの待ち行列がある。クエリが  Q 個与えられるので、与えられた順に処理せよ。クエリは以下の3種類である。
    • 1 l : 長さ  l のヘビが列の末尾に追加される。
    • 2 : 列の先頭にいるヘビが列から抜ける。このとき、残ったヘビはすべて前に詰める。
    • 3 k : 列の先頭から数えて  k 番目にいるヘビの頭の座標を出力する。

  • 待ち行列」とあるので、データ構造にはdequeを用いる。キューの要素は「ヘビの頭の座標」と「ヘビの長さ」をペアにしたものとする。
  • クエリ2で待ち行列から抜けたヘビの長さを  \mathrm{offset} として加算しておき、クエリ3で座標を出力するときに  \mathrm{offset} 分減算することで、「残ったヘビはすべて前に詰める」という操作を代替できる。

D - Squares in Circle

Difficulty: 749

解答時間: 28:35


  • 二次元座標平面上に  1\times 1 の正方形が無限に敷き詰められている。ある正方形の中心を中心として、半径  R の円を描いたとき、円に完全に内包される正方形は何個あるか求めよ。

  • 円の対称性を利用して、第1象限の部分に注目して考える。
  • 円の中心を  (0.5, 0.5) として、以下の3種類に分けて  x 座標を固定しながら数えていく。
    • 中心の 正方形
    •  x, y 軸に接している正方形
    • それ以外の正方形
  • desmos を用いてこんなグラフを書きながらごり押し。

結果

Performance: 1161

Rating: 854 → 889 (+35) Highest更新!

atcoder.jp

最近かなり調子がいい気がする。