AT_maximum_cup_2018_g Sparrow's trick

题目描述

最近,一种名为「Saitoon」的双人对战游戏风靡街头。 「Saitoon」比赛——「Maximum-Saitoon-cup」(此赛事与 Maximum-cup-2018 无关)已经圆满结束,赢得了热烈反响。 作为比赛的组织者之一,埼大君负责检查由记录员提供的比赛结果。 比赛结果以 BNF 语法管理,规则如下: - 比赛结果以 <CompetitionLog> 形式记录。 - 每场比赛被表示为 <GameResults>,强制分出胜负。 - 相邻两个 <PlayerData> 表示一场比赛的对手。 - <PlayerID> 是选手的唯一 ID。当为 <number> 时,表示具体数字;当为 <GameResults> 时,表示该比赛的胜者 ID。 - <WinningOrLosing> 指示选手在比赛中的输赢:o 表示胜利,x 表示失败。 - 选手的 ID 按照从左到右出现的 <number> 形式的 <PlayerID> 依次编号为 $1$ 到 $N$。 目前需要核对这些比赛结果与记录在案的「各选手获胜次数」数据。如果结果正确,那就大功告成。 不过,在进行这项工作时,埼大君发现部分比赛结果信息丢失。 幸运的是,他有「各选手获胜次数」这个数据,这使得恢复原本信息成为可能。然而,埼大君无力独自完成这项复杂工作,他便请求你来助力。 你的任务是根据已知的「选手获胜次数」数据,假设它们是正确无误的,来恢复比赛结果。 缺失的部分由「$ ? $」表示,需要你来填补这些空白。

输入格式

输入从标准输入中读取,格式如下: > $ S $ $ N $ $ a_{1} $ $ a_{2} $ $ ... $ $ a_{N} $ 第一行包含部分信息缺失的比赛结果。 第二行给出参赛选手的人数。 第三行以 $ a_{1} $ 到 $ a_{N} $ 的形式列出每名选手在比赛中的获胜次数。

输出格式

请输出一行,表示完整的比赛结果。

说明/提示

### 约束条件 - $ 12\ \leq\ |S|\ \leq\ 200 $ - $ 2\ \leq\ N\ \leq\ 16 $ - $ ? $ 的数量至少为 $1$,至多为 $\min(\ \frac{|S|}{2},50)$。 - 保证比赛结果的复原是唯一的。 ### 示例说明 1 选手 ID 从左到右编号为 $1$ 到 $N$,因此第三个「$ ? $」应填入「$ 3 $」。根据恢复的比赛结果,编号为 $1$ 的选手胜 $2$ 场,编号为 $2$ 和 $3$ 的选手均未胜,编号为 $4$ 的选手胜 $1$ 场,这与已有数据一致。 ### 示例说明 2 复原后的结果将是唯一确定的。 **本翻译由 AI 自动生成**