回分類題庫
d054: 3.字型顯示
關鍵字: 101年台中區複賽

測資點 : 5 | Time Limit : 1000 ms | Memory Limit : 32000 KB
Accepted : 94 Times / 91 Users | Submit : 370 Times / 102 Users | Accepted rate : 89%
題目加入時間 : 2013-09-13 13:50

Content: 简体中文

給定一字型檔資料,其內依序紀錄了0到9等共十個數字的字型內容。每個數字都是由一個8×8的點矩陣所組成,也就是每個數字將由64個位元(bit)所表示,這64個位元會組織成八個橫列及八個直欄的矩陣。整個字型檔共有640個位元,也就是共有80bytes。以數字1為例,若字型檔中所對應的資料為

0000100000011000000010000000100000001000000010000001110000000000,

而且若規定顯示的規則是:0不顯示任何圖形,1則顯示'*',則螢幕上會顯示如圖2(a)所示之圖形(注意:實際上,表格線條並不會顯示,這些線條只是為了方便說明。)。根據以上假設,我們可以知道,因為前8個位元是00001000,所以在第一行只有第五個點會顯示*;同樣的,因為前第9到第16個位元是00011000,所以在第二行只有第四及第五個點會顯示*。

 

請設計一程式,讀取一介於0到9999的整數值,然後根據所提供之字型檔內容,在螢幕上顯示該數值。若是兩位數以上之數值,顯示時,兩個相鄰數字間應間隔三個空白欄。另外,請支援字型放大之效果,也就是可以根據使用者所輸入的放大倍率來顯示所輸入的數值。放大的規則是:放大Z倍時,每一點會在螢幕上顯示Z×Z個點。例如放大二倍,原來的一個點會在螢幕上顯示四個點:橫向兩點,縱向兩點。以1為例,放大兩倍後的結果如圖2(b)所示,原本一倍的字型大小是8×8的點矩陣,放大成兩倍的字型大小便成是16×16的點矩陣。

 

Input:

輸入資料一開始有10行,每行有64個0和1組成的字串,分別代表數字0~9的字型資料,
最後一行有兩個整數值(以逗號分隔之),第一個是要顯示的數值(0~9999),第二個是要放大的倍率(1~4)。

Output:

請依照指定的倍率輸出放大後的字形,兩個數字之間請空三個空格。
(註:請把所有空格改以底線符號 _ 輸出)

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
輸入1:
0011000001001000100001001000010010000100010010000011000000000000
0000100000011000000010000000100000001000000010000001110000000000
0011000001001000010010000001000000100000010000000111100000000000
0011100001000100000001000011100000000100010001000011100000000000
0001110000100100010001000100010001000100011111100000010000000000
0111110001000000011110000000010000000100010001000011100000000000
0011000001001000010000000111000001001000010010000011000000000000
1111110010001100000010000001000000110000001100000011000000000000
0011000001001000010010000011000001001000010010000011000000000000
0011000001001000010010000011100000001000010010000011000000000000
1,2

輸入2:
0011000001001000100001001000010010000100010010000011000000000000
0000100000011000000010000000100000001000000010000001110000000000
0011000001001000010010000001000000100000010000000111100000000000
0011100001000100000001000011100000000100010001000011100000000000
0001110000100100010001000100010001000100011111100000010000000000
0111110001000000011110000000010000000100010001000011100000000000
0011000001001000010000000111000001001000010010000011000000000000
1111110010001100000010000001000000110000001100000011000000000000
0011000001001000010010000011000001001000010010000011000000000000
0011000001001000010010000011100000001000010010000011000000000000
43,2

Sample Output :

輸出1:
________**______
________**______
______****______
______****______
________**______
________**______
________**______
________**______
________**______
________**______
________**______
________**______
______******____
______******____
________________
________________

輸出2:
______******___________******______
______******___________******______
____**____**_________**______**____
____**____**_________**______**____
__**______**_________________**____
__**______**_________________**____
__**______**___________******______
__**______**___________******______
__**______**_________________**____
__**______**_________________**____
__************_______**______**____
__************_______**______**____
__________**___________******______
__________**___________******______
___________________________________
___________________________________

Hint :

Author :

101年台中區複賽 (管理員:sagit)

  Solve it!   Status Forum