AT_agc055_a.[AGC055A] ABC Identity

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 3N3N 的字符串 SS,其中 SS 恰好包含 NN 个 A、NN 个 B 和 NN 个 C。

我们称一个由 A、B、C 组成的字符串 TT 是好字符串,当且仅当满足以下条件:

  • TT 的长度能被 33 整除,记为 3K3K。
  • T1=T2=…=TKT_1 = T_2 = \ldots = T_K。
  • TK+1=TK+2=…=T2KT_{K+1} = T_{K+2} = \ldots = T_{2K}。
  • T2K+1=T2K+2=…=T3KT_{2K+1} = T_{2K+2} = \ldots = T_{3K}。
  • 字符 T1T_1、TK+1T_{K+1}、T2K+1T_{2K+1} 互不相同。

例如,ABC、BBAACC、AAACCCBBB 都是好字符串。

请你找到一种方法,将 SS 分解为不超过 66 个(不要求连续)的子序列,使得每个子序列都是好字符串。

在本题的限制下,必定存在这样的分解方法。

输入格式

输入从标准输入读入,格式如下:

NN SS

输出格式

请输出一个长度为 3N3N 的、仅包含 11 到 66 的数字的字符串。对于每个 1≤i≤61 \leq i \leq 6,将 SS 中对应输出为 ii 的字符按顺序取出,组成的子序列应为好字符串。若有多种答案,输出任意一种均可。

输入输出样例

  • 输入#1

    2
    ABCCBA

    输出#1

    111222
  • 输入#2

    4
    AABCBCAACBCB

    输出#2

    111211241244

说明/提示

限制

  • 1≤N≤2⋅1051 \leq N \leq 2 \cdot 10^5
  • 字符串 SS 恰好包含 NN 个 A、NN 个 B、NN 个 C。

样例解释 1

SS 被分为子序列 ABC 和 CBA,它们都是好字符串。

样例解释 2

输出为 11 的位置对应的子序列为 AABBCC,输出为 22 的位置对应的子序列为 CAB,输出为 44 的位置对应的子序列为 ACB,它们都是好字符串。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页