TopCoder

$\huge 南ことり$
$ε=ε=ε=(~ ̄▽ ̄)~烙跑囉$

User's AC Ratio

90.0% (9/10)

Submission's AC Ratio

47.4% (18/38)

Tags

Description

最近天龍國流傳著這麼一段話:「西諺有云:『我無法阻止鳥兒飛過頭頂,但我可以拒絕牠在我髮上築巢。』中國有句老話:『形勢是客觀的,操之在人;力量是主觀的,操之在己。』生活中我們總不免遇到一些身不由己的情境,無法改變現況,身心難以平衡。但是我們雖然無法決定自己的遭遇,面對遭遇,我們卻可以以或轉念、或轉身、或轉戰,甚至思謀對策,以翻轉、扭轉,逆轉勝。你曾遭遇過什麼樣的情境?你又是如何因應的的?因應之後產生了什麼結果?」

每個聽到這段話的天龍國國民,無不絞盡腦汁思考人生的意義還有「轉」的精隨。
而妳,小向,是一個天龍國的天才魔法少女,雖然妳不了解「轉」能給妳的人生帶來什麼改變,但是妳最喜歡做的事情就是「轉眼皮」。
所謂的「眼皮」,是一種非接觸實體粒子魔法陣,想知道細節可以參考「小向的眼皮魔法陣大全」。
而妳,小向,是一個天龍國的天才魔法少女,最喜歡做的事情,就是不停地旋轉眼皮,好讓妳的魔法陣可以產生各種不同的視覺效果。
這件事當然不是念念咒語消耗一些法力就可以達成的,組成眼皮的是一大堆精密的魔法粒子,以一些精密的魔法關係緊密排列。
如果想要旋轉眼皮,必須精準的計算每個質點附加的魔法粒子數量,否則可能會走火入魔,一整個禮拜失眠。

為了防止這種情況發生,妳,小向,身為一個天龍國的天才魔法少女,最擅長的事情當然是寫程式。
妳準備寫一個程式計算出所有的眼皮型態,好讓妳可以隨時旋轉它。

一個眼皮,說來複雜,其實形狀很像一個三角形,三角形的每一行,都可以代表一個二項式展開的係數,第n層眼皮,代表 (x+y)n-1 中每一項的係數。
以下是一個5層的眼皮在人類世界顯現的樣子( = 代表一格空白):
====1
===1=1
==1=2=1
=1=3=3=1
1=4=6=4=1
我們可以觀察到,每一個質點的魔法粒子數,都是它上方相鄰的兩個質點的魔法粒子數和。

而妳每次旋轉眼皮,眼皮都會呈現不同的狀態,我們用數字1~8代表8個方向的眼皮,其中1是正常向,接下來數字每增加1,眼皮就順時針旋轉45度。
下面是一個眼皮在旋轉90度後在人類世界顯現的樣子( = 代表一格空白):
01
==01
05==01
==04==01
10==03==01
==06==02==01
10==03==01
==04==01
05==01
==01
01
其中,為了使眼皮在高維度存在時,不會因為魔法粒子數太多而崩塌,小向會在每個質點前面補0來平衡,並讓空白的空間也變大。
比如說眼皮中最大的數字是126,那眼皮中的每個數字都會在前面補0補到三位數,比如2會變成002,而數字間的空白也會變成三格。

因為魔法陣是一門很深的學問,不小心多一格空白都會導致眼皮崩塌,甚至導致世界毀滅。
「為了防止世界被破壞,為了守護世界的和平,貫徹愛與真實的邪惡,可愛又迷人的反派角色,小向!我是穿梭在銀河中的魔法少女,白洞、白色的明天正等著我。就是這樣,轉!」------<小向的眼皮魔法陣大全,第7章>

Input Format

第一行有一個整數T,代表有T個需要旋轉的眼皮。
每個需要旋轉的眼皮有兩個正整數n,m,分別代表眼皮的層數和要旋轉的方向。

對於33%的測試資料,滿足n≤30,m = {2,4,6,8}。
對於66%的測試資料,滿足n≤30,1≤m≤8。
對於100%的測試資料,滿足n≤50,1≤m≤8。

Output Format

對於每個需要旋轉的眼皮,請精準的輸出眼皮的形狀。
請注意行尾不要有多餘的空白字元

Sample Input 1

8
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8

Sample Output 1

          01
        01  01
      01  02  01
    01  03  03  01
  01  04  06  04  01
01  05  10  10  05  01
01  01  01  01  01  01
    05  04  03  02  01
        10  06  03  01
            10  04  01
                05  01
                    01
01
  01
05  01
  04  01
10  03  01
  06  02  01
10  03  01
  04  01
05  01
  01
01
                    01
                05  01
            10  04  01
        10  06  03  01
    05  04  03  02  01
01  01  01  01  01  01
01  05  10  10  05  01
  01  04  06  04  01
    01  03  03  01
      01  02  01
        01  01
          01
01
01  05
01  04  10
01  03  06  10
01  02  03  04  05
01  01  01  01  01  01
          01
        01
      01  05
    01  04
  01  03  10
01  02  06
  01  03  10
    01  04
      01  05
        01
          01
01  01  01  01  01  01
01  02  03  04  05
01  03  06  10
01  04  10
01  05
01

Hints

每行最後一個數字之後沒有空白喔!!
因為很重要,所以說第三次!!

Problem Source

布萊茲·帕斯卡
2015建中校內資訊能力競賽

Subtasks

No. Testdata Range Score
1 0 33
2 1 33
3 2 34

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 262144 1
1 1000 65536 262144 2
2 1000 65536 262144 3