一副基本的撲克牌有四種花色,分別為黑桃(Spade),紅心(Heart),梅花(Club),方塊(Diamond),而每種花色由大到小排皆為A、K、Q、J、10、9、8、7、6、5、4、3、2。如果今天你要做一個撲克牌遊戲,印出牌面一直都是一件很重要的事情,所以今天你會得到四家拿到的牌,然後替玩家整理好之後印在畫面上給大家看。
第一行會給定$t$,$t \leq 5$,代表這組測試資料下共有t次發牌
每次發牌共52行,代表52張牌在牌堆裡的順序
每行資料以(花色)(數字)來表示牌
為求方便,這邊將以S代表黑桃,H代表紅心,C代表梅花,D代表方塊,而T代表10(Ten)
所以HJ即為紅心Jack,而DT則為方塊10
這52張牌要照東南西北的方式發下去,意即為第一張牌給東家,第二張牌給南家,三給西,四給北,五又給東,依此類推,最後第52張是在北家的手上
每家拿到牌之後要先按花色再按數字整理過牌,統一規定花色必須照黑桃、紅心、梅花、方塊的方式擺放,而數字必須由大到小擺放
一張正常的撲克牌長這個樣子:
若是不考慮中間的花色,那約略可以簡化成這樣子
-----
|7 |
|C C|
| 7|
-----
其中的橫線為減號,直線則為C語言中'or'的符號
那若是兩張牌在一起,變成這樣會比較好拿在手上
-------
|K|7 |
|C|C C|
| | 7|
-------
那一手牌照花色大小順序排好可能就會長得像這樣:
-----------------------------
|A|9|6|3|T|3|2|K|Q|7|J|6|5 |
|S|S|S|S|H|H|H|C|C|C|D|D|D D|
| | | | | | | | | | | | | 5|
-----------------------------
若是東西家也這樣放的話,那就需要準備很寬很扁的瑩幕,顯然是有點不太現實,
所以東西家的牌每個花色就要換行一次,如果上面那手牌是西家的牌,那就會變成這樣
-----------
|A|9|6|3 |
|S|S|S|S S|
| | | | 3|
-----------
---------
|T|3|2 |
|H|H|H H|
| | | 2|
---------
---------
|K|Q|7 |
|C|C|C C|
| | | 7|
---------
---------
|J|6|5 |
|D|D|D D|
| | | 5|
---------
假設上面每個符號的高寬都是一格
整個牌桌的高與寬都是32格
因此我們規定:
一、南北家整個牌的最左邊空出一格
二、南北家與東西家上下之間也空出一格
三、西家對齊最左邊
四、東家對齊最右邊
請對每次發牌印出他的牌面
同一筆測試資料內兩次發牌以一個換行隔開
30%的測試資料 t=1
No. | Testdata Range | Score |
---|---|---|
1 | 0 | 10 |
2 | 1 | 10 |
3 | 2 | 10 |
4 | 3 | 10 |
5 | 4 | 10 |
6 | 5 | 10 |
7 | 6 | 10 |
8 | 7 | 10 |
9 | 8 | 10 |
10 | 9 | 10 |