CF1937B.Binary Path
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a 2×n grid filled with zeros and ones. Let the number at the intersection of the i-th row and the j-th column be aij.
There is a grasshopper at the top-left cell (1,1) that can only jump one cell right or downwards. It wants to reach the bottom-right cell (2,n). Consider the binary string of length n+1 consisting of numbers written in cells of the path without changing their order.
Your goal is to:
- Find the lexicographically smallest† string you can attain by choosing any available path;
- Find the number of paths that yield this lexicographically smallest string.
† If two strings s and t have the same length, then s is lexicographically smaller than t if and only if in the first position where s and t differ, the string s has a smaller element than the corresponding element in t.
你有一个 2×n 的网格,其中每个格子填有数字 0 或 1。记第 i 行第 j 列处的数字为 aij。
一只蚱蜢起始于左上角格子 (1,1),每次只能向右或向下跳一格,目标是到达右下角格子 (2,n)。考虑该路径所经过的所有格子(按访问顺序)中的数字构成的长度为 n+1 的二进制字符串。
你的任务是:
- 通过选择任意一条可行路径,找出所能得到的字典序最小† 的字符串;
- 求出能产生该字典序最小字符串的路径条数。
† 若两个字符串 s 和 t 长度相同,则当且仅当在 s 与 t 首次出现差异的位置上,s 在该位置的字符严格小于 t 在对应位置的字符时,称 s 的字典序小于 t。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤104). The description of the test cases follows.
The first line of each test case contains a single integer n (2≤n≤2⋅105).
The second line of each test case contains a binary string a11a12…a1n (a1i is either 0 or 1).
The third line of each test case contains a binary string a21a22…a2n (a2i is either 0 or 1).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤2⋅105)。
每个测试用例的第二行包含一个二进制字符串 a11a12…a1n(其中每个 a1i 为 0 或 1)。
每个测试用例的第三行包含一个二进制字符串 a21a22…a2n(其中每个 a2i 为 0 或 1)。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case, output two lines:
- The lexicographically smallest string you can attain by choosing any available path;
- The number of paths that yield this string.
对于每个测试用例,输出两行:
- 通过选择任意一条可用路径所能得到的字典序最小的字符串;
- 能够产生该字符串的路径数量。
输入输出样例
输入#1
3 2 00 00 4 1101 1100 8 00100111 11101101
输出#1
000 2 11000 1 001001101 4
说明/提示
In the first test case, the lexicographically smallest string is 000. There are two paths that yield this string:

In the second test case, the lexicographically smallest string is 11000. There is only one path that yields this string:

在第一个测试用例中,字典序最小的字符串是 000。有两条路径可以得到该字符串:

在第二个测试用例中,字典序最小的字符串是 11000。仅有一条路径可以得到该字符串:

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