8567: X-Sums Sudoku

内存限制:128 MB 时间限制:4 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

m数独拼图是一个网格,由m×n区域,并且每个区域包含 n×m细胞。因此,一个m数独拼图包含nm×nm细胞。每个整数来自1nm在每行、每列和每个区域中恰好出现一次n×m数独拼图。

将行或列中的整数从某个方向开始作为长度序列列出
nm,X是序列的第一个整数,X-sum 是第一个整数之和XXX序列的整数。



上图是一个
4×24\乘以 24×2数独拼图与X-和。这777-从右到左列出的第一行是[3,4,1,2,7,8,5,6][3,4,1,2,7,8,5,6][34127856]和第一个整数XXX333,因此 X-和777-第一行从右边的方向是8=3+4+18=3+4+18=3+4+1.

给定两个正整数
nm,方向d和索引x,您需要找到 X-和x-第一行或x-第 1 列从方向d在词典中最小的 2n×2m数独。

表示ai,ja_{i,j}一个ij作为i我-第 1 行和jjj-数独谜题的第 1 列a一个,数独谜题a一个在字典上比数独谜题小b如果存在,则大小相同i我j满足于ai,j<bi,ja_{i,j}<b_{i,j}一个ij<bijax,y=bx,ya_{x,y}=b_{x,y}一个xy=bxy面向所有人x<ix<ix<,并且ax,y=bx,ya_{x,y}=b_{x,y}一个xy=bxy面向所有人x=ix=ix=y<jy<jy<j.您可以发现以上是词典上最小的4×24\乘以 24×2数独拼图。

输入格式

输入描述:

有多个测试用例。第一行输入包含一个整数TT(1\le T\le 10^51≤T≤10)5),测试用例的数量。对于每个测试用例:唯一一行包含两个整数nn和mm (1\le n1≤n, m\le 30m≤30),一个字符串dd和一个整数xx (1\le x\le2^{n+m}1≤x≤2)n + m). 2 ^ n \ * 2 ^平方米n×2米是数独游戏的大小。dd是X和的方向,是“左”、“右”、“上”、“下”四个方向之一。Xx是行或列的索引。

输出格式

输出描述:

对于每个测试用例:输出一个整数——字典序最小的2^n\乘以2^m2中dd方向的第xx行或第xx列的x和n×2数独。注意,答案可能超过2^{64}-1264−1。考虑在c++中使用__int128_t,在Java或Kotlin中使用BigInteger,或在Python中使用int。

输入样例 复制

4
2 1 top 1
2 1 bottom 2
2 1 left 3
2 1 right 4

输出样例 复制

1
34
27
3

分类标签