(No English translation.)
atcoder-piet-image-converter
概要
AtCoderで画像ファイルをPlain PPM形式に変換し、Pietのソースコードとして提出できるようにします。 また、Plain PPM形式の提出結果を画像に変換して表示します。
詳細
画像ファイルを提出用に変換
AtCoderのソースコードエディタに「変換 (Piet)」というボタンを追加します。 このボタンをクリックして画像ファイルを選択、または、このボタンに画像ファイルをドラッグ&ドロップすることで、その画像をPlain PPM形式に変換してソースコードエディタに反映します。 PNGやGIF等のブラウザで表示可能な形式の画像であれば変換できるはずです。
また、Plain PPM形式は読みやすい反面冗長であるため、AtCoderのコード長制限に抵触しがちです。 そのため、変換時に以下を適用してPietのソースコードとしての等価性を保ちながらコード長を節約します。
- 最大コーデルサイズが1になるように画像の解像度を下げる。
- 色成分の最大値を
85にする。 - Plain PPMのマジックナンバー (
P3) の直後を空白で区切らない。
提出結果を画像に変換
AtCoderの提出結果ページで、以下の条件を満たす場合にPietのソースコードを画像に変換して表示します。
- ジャッジ結果が表示されている。
- 提出言語がPietである。
- ソースコードがPlain PPM形式で書かれている。
また、ボタンをクリックして以下を行えます。
- プレビュー画像の拡大率を変更する。
- 画像をPNG形式でダウンロードする。
インストール
提出例
以下はPracticeA - Welcome to AtCoderをPietで解答して提出した例です。
UserScriptをインストールした後、以下の動作確認にご利用ください。
- 閲覧してプレビューを確認する
- ボタンからPNG画像をダウンロードする
- コードテストページでPNG画像をPlain PPM形式に変換する
- 入力例をテストする
1
2 3
test
リポジトリ
関連
- AtCoderで改行をLFにして提出し、コード長も表示するUserScript atcoder-lf-submit
- Pietの統合開発環境 Pietron
- AtCoderに採用されているインタプリタとは一部の挙動(特に
in(number)コマンド)が異なるのでご注意ください。
- AtCoderに採用されているインタプリタとは一部の挙動(特に