AT_agc060_b.[AGC060B] Unique XOR Path

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个 NN 行 MM 列的网格。你需要在网格的每个格子中填写一个整数,要求每个整数在 00 到 2K−12^K-1 之间,并且满足以下条件:

  • 从左上角出发,每次只能向右或向下移动到相邻的格子,最终到达右下角。我们考虑所有这样的路径。对于一条路径,如果经过的所有格子(包括起点和终点)中的整数的 XOR\mathrm{XOR} 总和为 00,则称这条路径为好路径。
  • 恰好只有一条好路径,并且这条路径正好是由字符串 SS 所表示的路径。字符串 SS 表示的路径是:对于每个 ii(1≤i≤N+M−21 \leq i \leq N+M-2),第 ii 次移动时,如果 SS 的第 ii 个字符是 R,则向右移动;如果是 D,则向下移动。

请判断是否存在一种整数填写方案,使得上述条件成立。

每个输入文件包含 TT 个测试用例。

位运算 XOR\mathrm{XOR} 的定义如下:对于非负整数 A,BA, B,它们的按位 XOR\mathrm{XOR}(记作 A⊕BA \oplus B)的每一位,如果 AA 和 BB 在该位上只有一个为 11,则结果为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6(二进制表示为:011⊕101=110011 \oplus 101 = 110)。
一般地,kk 个非负整数 p1,p2,p3,…,pkp_1, p_2, p_3, \dots, p_k 的按位 XOR\mathrm{XOR} 定义为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk)(\dots((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k),并且可以证明其结果与顺序无关。

输入格式

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

TT
case1case_1
case2case_2
⋮\vdots
caseTcase_T

每个测试用例格式如下:

NN MM KK SS

输出格式

对于每个测试用例,如果存在满足条件的整数填写方案,输出 Yes,否则输出 No。输出中的字母大小写均可。

输入输出样例

  • 输入#1

    4
    2 2 1
    RD
    4 3 1
    RDDDR
    15 20 18
    DDRRRRRRRDDDDRRDDRDRRRRDDRDRDDRRR
    20 15 7
    DRRDDDDDRDDDRRDDRRRDRRRDDDDDRRRDD

    输出#1

    Yes
    No
    Yes
    No

说明/提示

数据范围

  • 1≤T≤1001 \leq T \leq 100
  • 2≤N,M≤302 \leq N, M \leq 30
  • 1≤K≤301 \leq K \leq 30
  • SS 是一个恰好包含 N−1N-1 个 D 和 M−1M-1 个 R 的字符串
  • 输入的所有数均为整数

样例解释 1

例如对于第 1 个测试用例,可以构造如下的网格:

11
00

由 ChatGPT 4.1 翻译

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

首页