#P681. Punched Cards
Punched Cards
題目描述
A secret team of programmers is plotting to disrupt the programming language landscape and bring punched cards back by introducing a new language called Punched Card Python that lets people code in Python using punched cards! Like good disrupters, they are going to launch a viral campaign to promote their new language before even having the design for a prototype. For the campaign, they want to draw punched cards of different sizes in ASCII art.
The ASCII art of a punched card they want to draw is similar to an R×CR×C matrix without the top-left cell. That means, it has (R⋅C)−1(R⋅C)−1 cells in total. Each cell is drawn in ASCII art as a period (.) surrounded by dashes (-) above and below, pipes (|) to the left and right, and plus signs (+) for each corner. Adjacent cells share the common characters in the border. Periods (.) are used to align the cells in the top row.
For example, the following is a punched card with R=3R=3 rows and C=4C=4 columns:
..+-+-+-+ ..|.|.|.| +-+-+-+-+ |.|.|.|.| +-+-+-+-+ |.|.|.|.| +-+-+-+-+
There are more examples with other sizes in the samples below. Given the integers RR and CC describing the size of a punched card, print the ASCII art drawing of it as described above.
輸入格式
The first line of the input gives the number of test cases, TT. TT lines follow, each describing a different test case with two integers RR and CC: the number of rows and columns of the punched card that must be drawn.
輸出格式
For each test case, output one line containing Case #xx:, where xx is the test case number (starting from 1). Then, output (2⋅R)+1(2⋅R)+1 additional lines with the ASCII art drawing of a punched card with RR rows and CC columns.
Samples
3
3 4
2 2
2 3
Case #1:
..+-+-+-+
..|.|.|.|
+-+-+-+-+
|.|.|.|.|
+-+-+-+-+
|.|.|.|.|
+-+-+-+-+
Case #2:
..+-+
..|.|
+-+-+
|.|.|
+-+-+
Case #3:
..+-+-+
..|.|.|
+-+-+-+
|.|.|.|
+-+-+-+
原始資料
- Zero1 題號:
a681 - Hydro 題號:
Z0681 - Locale:
zh_TW - Display:
open