题号:NC218877
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
蒟蒻wzc在学习最基本的算法知识内容,今天老师布置了一个简单的任务给他:
从一个n*n的方格矩阵左上角的[1][1]出发,给定n-1次操作,每次移动只能到当前位置上下左右其中一个相邻位置('w'代表向上走,'a'代表向左走,'s'代表向下走,'d'代表向右走),依次填下1到n*n这n*n个数字。wzc的任务是输出填数后的矩阵是什么样子。
好家伙怎么这么难,wzc把求助的目光投向了你。
输入描述:
第一行为一个整数t代表样例数。(1<=t<=10)
每组样例包括两行,
每组样例的第一行为一个整数n,代表方格矩阵的边长。(2<=n<=6)
每组样例的第二行为一个长度为n*n-1的字符串,对应n*n-1次移动操作,只包含'w''a''s''d'四种字符。('w'代表向上走,'a'代表向左走,'s'代表向下走,'d'代表向右走)
题目保证n*n-1次操作没有走出矩阵外,也没有重复走到同一个位置,也就是说n*n-1次操作后,所有格子都会被填上一个数字。
输出描述:
对于每组样例,输出填数完成后的矩阵。
每行的数字之间用空格隔开。
每组样例之间用一个空行隔开。
示例1
输入
复制
2
3
ssddwawd
4
dsdwdsssawasaww
输出
复制
1 8 9
2 7 6
3 4 5
1 2 5 6
16 3 4 7
15 12 11 8
14 13 10 9