AT_arc172_c.[ARC172C] Election

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

在今年的 AtCoder 市长选举中,有两位候选人 A 和 B 参选,共有 NN 名选民进行了投票。每位投票者都被编号为 11 到 NN,第 ii 位投票者(1≤i≤N1 \leq i \leq N)投给了 cic_i 候选人。

现在即将进行计票。计票过程中,每次会开出一张选票,并在每次开票后,公布当前的计票结果,结果分为以下三种情况之一:

  • 结果 A: 目前为止,A 候选人的得票数更多。
  • 结果 B: 目前为止,B 候选人的得票数更多。
  • 结果 C: 目前为止,A 和 B 的得票数相同。

计票顺序有如下规则:除了投票者 11 的选票外,其他选票必须按照投票者编号从小到大的顺序依次开票(即 2,3,…,N2,3,\dots,N 依次开票)。投票者 11 的选票可以在任意时刻开票。

请你计算,所有可能的计票结果序列有多少种。

计票结果序列是指每张票开出时公布的结果 sis_i(A、B 或 C 之一),即字符串 s1s2…sNs_1 s_2 \dots s_N。

输入格式

输入通过标准输入给出,格式如下:

NN c1 c2 ⋯ cNc_1\ c_2\ \cdots\ c_N

输出格式

请输出答案。

输入输出样例

  • 输入#1

    4
    AABB

    输出#1

    3
  • 输入#2

    4
    AAAA

    输出#2

    1
  • 输入#3

    10
    BBBAAABBAA

    输出#3

    5
  • 输入#4

    172
    AABAAAAAABBABAABBBBAABBAAABBABBABABABBAAABAAABAABAABBBBABBBABBABBBBBBBBAAABAAABAAABABBBAABAAAABABBABBABBBBBABAABAABBBABABBAAAABAABABBBABAAAABBBBABBBABBBABAABBBAAAABAAABAAAB

    输出#4

    24

说明/提示

限制条件

  • NN 是满足 2≤N≤10000002 \leq N \leq 1000000 的整数。
  • c1,c2,…,cNc_1, c_2, \dots, c_N 均为 A 或 B。

样例解释 1

在这个输入样例中,计票顺序可能有以下 44 种:

  • 按 1→2→3→41 \to 2 \to 3 \to 4 的顺序计票。
  • 按 2→1→3→42 \to 1 \to 3 \to 4 的顺序计票。
  • 按 2→3→1→42 \to 3 \to 1 \to 4 的顺序计票。
  • 按 2→3→4→12 \to 3 \to 4 \to 1 的顺序计票。

计票结果序列分别为 AAAC、AAAC、ACAC、ACBC,因此可能的计票结果序列有 33 种。

样例解释 2

无论以何种顺序计票,计票结果序列始终为 AAAA。

由 ChatGPT 4.1 翻译

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

首页