This is a 3x3
ASCII jigsaw puzzle:
_____ _____ _____| _| |_ || (_ _ _) ||_ _|_( )_|_ _|| (_) |_ _| (_) || _ _) (_ _ ||_( )_|_ _|_( )_|| _| (_) |_ || (_ _) ||_____|_____|_____|
This is also a 3x3
ASCII jigsaw puzzle:
_____ _____ _____| |_ _| || _ _) (_ _ ||_( )_|_ _|_( )_|| _| (_) |_ || (_ _ _) ||_ _|_( )_|_ _|| (_) |_ _| (_) || _) (_ ||_____|_____|_____|
Each line in a ASCII jigsaw puzzle (excluding the edge cases i.e. the pieces literally on the edges) consists of the following pattern:
_ _ _ _( )_ _ _ _( )_ _ _ _( )_|_ _| (_) |_ _| (_) |_ _| _) (_ _ _) (_ _ _) (_|_ _|_( )_|_ _|_( )_|_ _| ... (_) (_) (_)
Given 2 integers H
and W
where H
is the height (vertical amount) and W
is the width (horizontal amount) and H
and W
are >1
output a possible HxW
ASCII jigsaw puzzle.
Examples
Test Case 1
Input: 2, 4
Output:
_____ _____ _____ _____| |_ _| |_ || _ _) (_ _ _) ||_( )_|_ _|_( )_|_ _|| _| (_) |_ _| (_) || (_ _) (_ ||_____|_____|_____|_____|
Test Case 2
Input: 4, 4
Output:
_____ _____ _____ _____| |_ _| |_ || _ _) (_ _ _) ||_( )_|_ _|_( )_|_ _|| _| (_) |_ _| (_) || (_ _ _) (_ _ ||_ _|_( )_|_ _|_( )_|| (_) |_ _| (_) |_ || _ _) (_ _ _) ||_( )_|_ _|_( )_|_ _|| _| (_) |_ _| (_) || (_ _) (_ ||_____|_____|_____|_____|
Test Case 3
Input: 3, 5
Output:
_____ _____ _____ _____ _____| |_ _| |_ _| || _ _) (_ _ _) (_ _ ||_( )_|_ _|_( )_|_ _|_( )_|| _| (_) |_ _| (_) |_ || (_ _ _) (_ _ _) ||_ _|_( )_|_ _|_( )_|_ _|| (_) |_ _| (_) |_ _| (_) || _) (_ _) (_ ||_____|_____|_____|_____|_____|
Test Case 4
Input: 2, 2
Output:
_____ _____| _| || (_ _ ||_ _|_( )_|| (_) |_ || _) ||_____|_____|
Clarifications
- The height and width for each puzzle piece should not be scaled up or down.
- With
H
andW
being greater than one, the smallest dimensions possible are2x2
(see IO 4). - You can have a full program or a function.
- The input will be 2 lines with
H
on the 1st andW
on the 2nd if you're using a function you can have them in the parameters. - Output to stdout (or something similar).
- This is code-golf so shortest answer in bytes wins.