Skip to content

RyosukeDTomita/atcoder

Repository files navigation

AtCoder

AtCoder Trophies

INDEX


ABOUT

過去自分が参加したAtCoderのコンテストの解答管理用リポジトリ。 問題文はAtCorderの知的財産権に属するため、ここには記載しない。

Warning

本リポジトリには、コンテスト期間外に復習のため作成した生成AI使用のコードが含まれています。コンテスト期間においては生成AIを使用せず、参加しています。


ENVIRONMENT

nix develop

(VS Code User)

  • VS CodeのExtensionsであるhaskell.haskellをインストールする。
  • settings.jsonに設定を記載しているので、VS Codeでatcoder/ディレクトリを開けば自動的にLSPやフォーマッタ等は認識される。
  • スニペットは、haskell.code-snippetsに配置している。

(Zed User)

最近はZedに移行した。

  • haskellのExtensionsをインストールする。
  • `settings.jsonに設定を配置している。これで、LSPやフォーマッタ等が使えるようになる。
  • プロジェクト固有のスニペット機能は2026年5月現在ではサポートされていないので、VS CodeのスニペットをZed用に移植したものをグローバルに配置して使用している。

HOW TO USE

コンテストに参加する前にその日のコンテスト用ディレクトリを作成する

cd src
./create_today_dir.sh

Haskellのコードを実行する

# コンパイルして実行する
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 fmt

ghci

import文の自動読み込み設定を.ghciに記載している。

.ghciはルートディレクトリ(atcoder/)に置いているが、atdoer/src/等に移動した際には読み込まれない。そのため、グローバルに読み込むためにシンボリックリンクをホームディレクトリに作成する。

cd atcoder
ln -s /home/sigma/atcoder/.ghci /home/sigma/.ghci

Contributors

Languages