過去自分が参加したAtCoderのコンテストの解答管理用リポジトリ。 問題文はAtCorderの知的財産権に属するため、ここには記載しない。
Warning
本リポジトリには、コンテスト期間外に復習のため作成した生成AI使用のコードが含まれています。コンテスト期間においては生成AIを使用せず、参加しています。
nix develop- VS CodeのExtensionsである
haskell.haskellをインストールする。 - settings.jsonに設定を記載しているので、VS Codeで
atcoder/ディレクトリを開けば自動的にLSPやフォーマッタ等は認識される。 - スニペットは、haskell.code-snippetsに配置している。
最近はZedに移行した。
haskellのExtensionsをインストールする。- `settings.jsonに設定を配置している。これで、LSPやフォーマッタ等が使えるようになる。
- プロジェクト固有のスニペット機能は2026年5月現在ではサポートされていないので、VS CodeのスニペットをZed用に移植したものをグローバルに配置して使用している。
コンテストに参加する前にその日のコンテスト用ディレクトリを作成する
cd src
./create_today_dir.shHaskellのコードを実行する
# コンパイルして実行する
ghc <file_name>.hs
./<file_name># インタプリタで実行する
runghc <file_name>.hs# 入力データをtxtファイルから受け取って実行する(これが一番競技プログラミングに向いてそう?)
runghc <file_name>.hs < input.txt# 対話形式で実行する
ghci
ghci> putStrLn "Hello, World!"
Hello, World!
ghci> :q
Leaving GHCi.# Formatter(CLIで実行したい場合)
nix fmtimport文の自動読み込み設定を.ghciに記載している。
.ghciはルートディレクトリ(atcoder/)に置いているが、atdoer/src/等に移動した際には読み込まれない。そのため、グローバルに読み込むためにシンボリックリンクをホームディレクトリに作成する。
cd atcoder
ln -s /home/sigma/atcoder/.ghci /home/sigma/.ghci