DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord連携を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

ペペロの受け渡し

問題に戻る

解説

どれかの種類の本数が一致しなければ不可能である。一致すれば必ず可能となる。各スタックは単色で、両方が空でなければ互いに異なる種類を保持する、という不変条件を維持する。次に必要な種類を ccc とする。

第 222 スタックに ccc があれば 2、第 111 スタックにあれば 12 を実行する。どちらにもなければ、未読の入力に ccc が必ず残っている。入力を順に読み、ccc を見つけたら 012 で直ちに渡す。

途中の別の種類 ddd は次のように保存する。第 222 スタックが ddd なら 01。そうでなく、第 111 スタックが空か ddd なら 0。残る場合、第 222 スタックは必ず空なので 01 を実行する。両スタックが dd 以外の異なる種類で埋まっているなら、種類は三つだけなので一方が となり、現在の前提に矛盾する。先に第 スタックとの一致を確認し、同じ種類が両方に分かれないようにする。いずれの操作も不変条件を保つ。

各ペペロは入力、第 111 スタック、第 222 スタック、出力を一度ずつ通るので命令数は厳密に 3N3N3N。時間と領域は O(N)O(N)O(N)。サブタスク 111 は状態を記憶する全探索で解ける。状態数は高々 O(N33N)O(N^3 3^N)、文字列処理を含む時間は で、 なら十分である。サブタスク は第 スタックだけをバッファとして使い、必要な種類が一番上に来るまで入力を積めばよい。二種類なら受け渡し直後のバッファは常に単色となり、 時間で解ける。

Solution written by GPT6.1

d
ccc
222
O(N33N)
O(N43N)O(N^4 3^N)O(N43N)
N≤8N\leq8N≤8
222
111
O(N)O(N)O(N)