ぱそきいろのIT日記

ぱそきいろがITに関する記事を書いていきます。

AHC050参加記録

こんばんは、ぱそきいろ(@takacpu55)です。

最近アルゴ式の競技プログラミングよりもヒューリスティック形式にハマっています。

AHC050に参加したので記録に残していきたいと思います。 AtCoder Heuristic Contest 050 - AtCoder

 

書きたいこと

ビジュアライザから評価関数を書かないといけないですが、Rustを読めないので生成AIを使ってPythonに書き換えた。

前提

AHCにラフに参加しているだけなので技術的に新しいところはないかもです。

atcoder.jp

初心者がAHCに悪戦苦闘しながら参加している過程を見ていただければと思います。

問題概要

A - Gamble on Ice

ボードに岩を置いていき、なるべくつぶれないように配置していくというものでした。

イメージとしてはボンバーマンの最後?

最初の提出

まずは何も考えずに岩をランダムにおいていく。

グラフは序盤から右肩下がり。

これで75685427

提出②

ロボットがいない確率が高い→岩にぶつかるとロボットが止まる→隣に岩がないところから岩を置いていく。

序盤がかなりまっすぐになった。

これで89173512

提出③

ここから妙案が思いつかず、試行錯誤するも大きく順位は上がらず。。

毎回白いマス(ロボットがいる確率が低いマス)を優先的に選べば問題ないと考える。

が、確率を効率的に算出する方法が分からず。。

そういえばAHC047でビジュアライザから評価関数を実装する解法を取っている人をXで見たなと。

A - Lovely Language Model

ということでビジュアライザをDLしてみるがRustを書いたことがないので困る。

https://img.atcoder.jp/ahc050/k1BmZE1o.zip

AHCは生成AIの利用を禁止されていないのでChatGPTとCursorにぶち込んでPythonにしてもらう。

これでおおよその方法が分かったので白いマスから優先的に選ぶ方法を実装する。

これで115672140

※これが今回の最高得点

最終結果

ここで時間を使いすぎて、次の解法に進めなかった。。。

この次は正式の解説の通り、複数回試してみるのは出来たなと。

https://img.atcoder.jp/ahc050/editorial.pdf#page=13

まとめ

生成AIを使って楽しく参加できました。 また気が向いたらブログに書いていきます。