AT_tupc2022_o.Equidistant Binary String
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
设 Sn,m 为所有由 n 个字符 0 和 m 个字符 1 组成、长度为 n+m 的字符串的集合。
对于 s1,s2∈Sn,m,定义 s1,s2 之间的距离 d(s1,s2) 为:把字符串 s1 变换成字符串 s2 所需要的最小相邻两字符交换次数。
另外,对 s1,s2∈Sn,m,定义 f(s1,s2):
- 存在 d(s1,t)=d(s2,t) 的字符串 t∈Sn,m 时,返回这些 t 中字典序最小的那个;如果不存在这样的 t,则返回 −1。
给定正整数 n,m,以及字符串 T∈Sn,m。试求,有多少对字符串 (s1,s2) (s1,s2∈Sn,m) 满足 f(s1,s2)=T。请输出答案对 998244353 取模。
输入格式
输入为一行,格式如下:
n m T
输出格式
输出一个整数,表示满足要求的 (s1,s2) 对数,对 998244353 取模。
输入输出样例
输入#1
2 2 0101
输出#1
4
输入#2
4 1 00100
输出#2
4
输入#3
3 3 111000
输出#3
0
输入#4
6 4 0001111000
输出#4
1254
说明/提示
样例解释 1
(s1,s2)=( 0011 , 0110 ),( 0011 , 1001 ),( 0110 , 0011 ),( 1001 , 0011 ) 满足条件。
例如,对 (s1,s2)=( 0011 , 0110 ),满足 d(s1,t)=d(s2,t) 的 t∈S2,2 有 0101 和 1001,但字典序更小的是 0101,因此 $f(s_1, s_2)= $ 0101。
样例解释 2
(s1,s2)=( 00001 , 10000 ),( 00010 , 01000 ),( 01000 , 00010 ),( 10000 , 00001 ) 满足条件。
限制
- 1≤n,m≤30
- n,m 为整数
- T∈Sn,m
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?