Programming contests

ECN programozó csapatverseny, 2022. május 28.

May 28, 2022 10:15 AM – May 28, 2022 3:15 PM

Tech Coding Challenge

Create a drawing program that uses the console as the canvas and characters as colors. You will take a list of commands and output the result in the console. The program should work as follows:

  1. Create a new canvas.
  2. Start drawing on the canvas by issuing various commands.
  3. Quit.

The following commands should be interpreted:

  • C w h: Should create a new canvas of width w and height h.
  • L x1 y1 x2 y2: Should create a new line from (x1,y1) to (x2,y2). Currently only horizontal or vertical lines are supported. Horizontal and vertical lines will be drawn using the 'x' character.
  • R x1 y1 x2 y2: Should create a new rectangle, whose upper left corner is (x1,y1) and lower right corner is (x2,y2). Horizontal and vertical lines will be drawn using the 'x' character.
  • F x y c: Should fill the entire area connected to (x,y) with “colour” c. The behavior of this is the same as that of the “bucket fill” tool in paint programs.

The commands feed will be provided through the standard input, one command per line.

The result should be written to the standard output. Pay attention: the result must contain also the canvas borders.

Sample Input 1

  1. C 20 4
download as text file

Output for Sample Input 1

  1. ----------------------
  2. |                    |
  3. |                    |
  4. |                    |
  5. |                    |
  6. ----------------------
download as text file

Sample Input 2

  1. C 20 4
  2. L 1 2 6 2
download as text file

Output for Sample Input 2

  1. ----------------------
  2. |                    |
  3. |xxxxxx              |
  4. |                    |
  5. |                    |
  6. ----------------------
download as text file

Sample Input 3

  1. C 20 4
  2. L 1 2 6 2
  3. L 6 3 6 4
download as text file

Output for Sample Input 3

  1. ----------------------
  2. |                    |
  3. |xxxxxx              |
  4. |     x              |
  5. |     x              |
  6. ----------------------
download as text file

Sample Input 4

  1. C 20 4
  2. L 1 2 6 2
  3. L 6 3 6 4
  4. R 14 1 18 3
download as text file

Output for Sample Input 4

  1. ----------------------
  2. |             xxxxx  |
  3. |xxxxxx       x   x  |
  4. |     x       xxxxx  |
  5. |     x              |
  6. ----------------------
download as text file

Sample Input 5

  1. C 20 4
  2. L 1 2 6 2
  3. L 6 3 6 4
  4. R 14 1 18 3
  5. F 10 3 o
download as text file

Output for Sample Input 5

  1. ----------------------
  2. |oooooooooooooxxxxxoo|
  3. |xxxxxxooooooox   xoo|
  4. |     xoooooooxxxxxoo|
  5. |     xoooooooooooooo|
  6. ----------------------
download as text file
University of Debrecen; Faculty of Informatics; v. 03/01/2019