#P7851. Hexagon

Hexagon

题目描述

如果世界是一个六边形,那么在抵达终点之前,我会尽可能多地转弯。

Cuber QQ 构造了一个半径为 nn 的六边形网格。半径为 33 的六边形网格如下图所示:

这个网格一共有

3n(n1)+13n(n-1)+1

个六边形格子。

你需要在该网格上完成一次完美游览:任选一个格子作为起点,每一步移动到一个与当前格子相邻的格子,并且恰好访问每个格子一次。

从一个格子移动到相邻格子共有六种可能的方向,编号如下:

如果当前位于网格边界,则不能移动到网格之外。

D(x,y)D(x,y) 表示从格子 xx 移动到相邻格子 yy 时的方向编号。设序列 AA 表示游览路线,其中 AiA_i 表示第 ii 个被访问的格子。

对于满足

1<i<A1<i<|A|

的位置 ii,若

D(Ai1,Ai)D(Ai,Ai+1),D(A_{i-1},A_i)\ne D(A_i,A_{i+1}),

则称路线在格子 AiA_i 处发生了一次转弯

在保证每个格子恰好访问一次的前提下,请使路线中的转弯次数最大,并输出一条满足要求的路线。

若存在多种可行方案,输出任意一种即可。

输入格式

第一行包含一个整数 TT,表示测试用例组数。

接下来 TT 行,每行包含一个整数 nn,表示六边形网格的半径。

输出格式

对于每组测试数据,输出一行长度为

3n(n1)3n(n-1)

的字符串。

字符串的第 ii 个字符表示

D(Ai,Ai+1),D(A_i,A_{i+1}),

即从第 ii 个访问的格子移动到第 i+1i+1 个访问的格子时所采用的方向编号。

输出的路线必须满足:

  • 每一步都移动到相邻格子;
  • 不得移动到网格之外;
  • 每个格子恰好访问一次;
  • 转弯次数达到最大值。

本题采用 Special Judge

样例输入

1
2

样例输出

313456

数据范围

1T104,1\le T\le 10^4, 2n500,2\le n\le 500,

并保证所有测试用例中 nn 的总和不超过

2×104.2\times 10^4.