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

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

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

Italian brainrot

問題に戻る

解説

캐릭터들 사이에 아무 전체 순서를 하나 정한다. 예를 들어 입력으로 주어진 순서가 앞선 캐릭터가 항상 이긴다고 정하자.

그러면 캐릭터 BBB가 캐릭터 AAA를 이겼다는 것은 BBB가 AAA보다 입력에서 앞에 있다는 뜻이다. 또한 캐릭터 CCC가 캐릭터 BBB를 이겼다면 CCC는 BBB보다 입력에서 앞에 있다. 따라서 CCC는 AAA보다도 입력에서 앞에 있으므로, CCC는 AAA를 이긴다.

즉 입력 순서대로 앞선 캐릭터를 출력하면 항상 조건을 만족한다.

각 이름에 입력 순서 번호를 저장해 두고, 각 질의마다 번호가 작은 이름을 출력하면 된다. 같은 이름이 두 번 주어졌다면 그 이름을 출력한다.

시간 복잡도는 O(L+Q)O(L + Q)O(L+Q)이다. 여기서 LLL은 입력으로 주어진 캐릭터 이름 길이의 합이다.