Printing patterns

4

29 votes
Algorithms, Breadth First Search, Graphs, Implementation, Matrix
Problem

You are required to form a matrix of size r×c where r is the number of rows and c is the number of columns. You are required to form the waves of numbers around the provided center, (Ci, Cj) (0-based indexing).

Example:

  • Size of the matrix: r=9 and c=9
  • Center coordinates: Ci=4 and Cj=4 (0 based indexing)
  • Pattern:

            4 4 4 4 4 4 4 4 4 
            4 3 3 3 3 3 3 3 4 
            4 3 2 2 2 2 2 3 4 
            4 3 2 1 1 1 2 3 4 
            4 3 2 1 0 1 2 3 4 
            4 3 2 1 1 1 2 3 4 
            4 3 2 2 2 2 2 3 4 
            4 3 3 3 3 3 3 3 4 
            4 4 4 4 4 4 4 4 4

You are given the values of r, c, Ci, Cj (the values of Ci and Cj is 0-based indexed). Your task is to print the provided pattern.

Input format

The first line contains four integers r, c, Ci, and Cj denoting the number of rows, number of columns, x coordinate of center, and y coordinate of center.

Output format

Print the pattern for the provided input.

Constraints

1r1e31c1e30Ci<r0Cj<c

Time Limit: 2
Memory Limit: 256
Source Limit:
Explanation

Given input have shown output.

Editor Image

?