日記パート
9月末くらいから本格的にAtCoderやり始めた。
3連続で水パフォなので、実質水コーダーです(いいえ)。4月までに水コーダーになりたいなぁっていう漠然とした目標で、最低限ABC/ARCは出るようにしてる。精進は11月からラボやら就活やらで忙しくてあまりできていない……。まぁ、入水したらドヤ顔で入水記事書きます。
本題
問題は(ほぼ)全てPythonで書いているが、たま~~~~~に非本質高速化とかを求められて涙涙涙ってなる。PyPyだと割と早いけどDFSとかする際に爆発しがちだし、CythonとかCPython(だっけ)とか選択してその問題は耐えても、次の問題でPyPyに戻し忘れてペナとかやったりする(1敗)。
まぁ爆速言語で実行時間†1ms†でACしたくない?って話ですよ。
ということでRustをこれから勉強してコンテストで目指せコーダーします。(水コーダーになるだけならPythonだけでも全然いけるとは思います。)
とりあえずRustの公式ドキュメントとにらめっこしながらHelloWorldするところまでかな~~~。
環境構築
AtCoderのジャッジのバージョン見てみたらrustc1.70.0だった。このあたりは揃えておかないと絶対不幸になるので注意する。
ひとまずVisualStudioのBuildToolと、rustupをインストールした……が、rustcのバージョンが1.74.1だった。 1.70にするために rustup toolchain add 1.70したあと、rustup default 1.70hogehogeして、rustup toolchain listで1.70がdefaultになっているかを確認した <- OK!
rustcのversionも1.70.0になってるのでヨシ!
ひとまずこれで動かせる環境になっていそう。
VSCode
- rust-analyzer
- crates
- Rust Syntax
- Rust Test Explorer
- CodeLLDB
を入れた。上3つはrustっていうextensions packによるもの。
HelloWorld
fn main() { println!("Hello, world!"); }
でOK。とりあえず動くようになったので、次回から構文試しつつ雰囲気を味わっていく。