AT_KeioPC2025_o.Three Constraints
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于非负整数 x,y,z,我们将满足以下所有条件的非负整数三元组 (a,b,c) 的个数记为 f(x,y,z):
- a AND b AND c=x
- a OR b OR c=y
- a+b+c=z
其中,a AND b 表示 a 与 b 的按位与,a OR b 表示 a 与 b 的按位或。
给定正整数 N,M,以及由 0、1、? 组成的长度为 N 的字符串 X,Y,Z。
对于 X,将所有 ? 替换为 0 或 1 后得到的二进制字符串所代表的所有整数构成集合 SX。同理,Y 对应 SY,Z 对应 SZ。
请对于 k=0,1,…,M−1,判断是否存在满足 x∈SX,y∈SY,z∈SZ,并且 f(x,y,z)≡k(modM) 的三元组 (x,y,z)。
给定 T 个测试用例,请分别解决。
输入格式
输入按以下格式给出。
T
case1
case2
⋮
caseT
每个测试用例格式如下:
N M
X
Y
Z
输出格式
请输出 T 行。第 i 行对于第 i 个测试用例,依次输出 k=0,1,…,M−1,如果存在满足 f(x,y,z)≡k(modM) 的 (x,y,z),则对应位置输出 1,否则输出 0。
输入输出样例
输入#1
3 3 5 0?1 ?01 ?11 5 7 ?0??? ?0?1? 01?10 10 10 0000000000 0000000000 0000000000
输出#1
11010 1011001 0100000000
说明/提示
样例解释 1
对于第 1 个测试用例,SX={1,3}, SY={1,5}, SZ={3,7}。对于 k=0,1,3:
- f(3,1,3)≡0(modM) :不存在满足条件的 (a,b,c)。
- f(1,1,3)≡1(modM) :唯一满足条件的 (a,b,c) 为 (1,1,1)。
- f(1,5,7)≡3(modM) :满足条件的 (a,b,c) 有 (1,1,5),(1,5,1),(5,1,1) 共 3 个。
因此,对于 k=0,1,3,存在符合条件的三元组。在 k=2,4 时,不存在符合条件的 (x,y,z)。
数据范围
- 1≤T≤3000
- 1≤N≤3000
- 1≤M≤106
- X,Y,Z 均为长度为 N 的仅包含
0、1、?的字符串 - 所有测试用例中 N 的总和不超过 3000
- 所有测试用例中 M 的总和不超过 106
- N,M 均为整数
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?