DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Italian brainrot

返回题目

题解

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

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

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

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

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