Problem Statement
There is an NxN square with its cells initially empty. The rows of the square are indexed from top to bottom, and columns from left to right. All indices start from 0.
You wish to fill the cells of the square with consecutive integers, starting from 1, using the following algorithm. At the beginning you stand at the topmost leftmost cell and put 1 in this cell. Each time you want to find the cell for the next number, you use the following method: Move a cells down and b cells right from your current cell (all moves are cyclic, so moving down one row from row N-1 takes you to row 0, and moving right one column from column N-1 takes you to column 0). If the current cell is empty, then you put the next number in this cell. Otherwise, move an additional c cells down and d cells right. If the current cell is empty, then you put the next number in this cell, otherwise the entire algorithm is finished.
Return a
Definition
- Class:
- SquareConstruction
- Method:
- construct
- Parameters:
- int, int, int, int, int
- Returns:
- String[]
- Method signature:
- String[] construct(int N, int a, int b, int c, int d)
- (be sure your method is public)
Constraints
- N will be between 1 and 10, inclusive.
- a, b, c and d will each be between 0 and N-1, inclusive.
Examples
5
0
0
0
0
Returns: {"1 -1 -1 -1 -1", "-1 -1 -1 -1 -1", "-1 -1 -1 -1 -1", "-1 -1 -1 -1 -1", "-1 -1 -1 -1 -1" }
Here you don't move at all, so the algorithm finishes after putting 1 in the topmost leftmost cell.
5
1
1
2
2
Returns: {"1 -1 -1 -1 -1", "-1 2 -1 -1 -1", "-1 -1 3 -1 -1", "-1 -1 -1 4 -1", "-1 -1 -1 -1 5" }
First you put numbers 1, 2, 3, 4 and 5 in the cells on the main diagonal. Then you analyze the cells at row 0, column 0 and at row 2, column 2. Neither cell is empty, so the algorithm is finished.
5
1
1
1
0
Returns: {"1 22 18 14 10", "6 2 23 19 15", "11 7 3 24 20", "16 12 8 4 25", "21 17 13 9 5" }
In this case you will fill all the cells with numbers.
5
0
1
2
3
Returns: {"1 2 3 4 5", "17 18 19 20 16", "8 9 10 6 7", "24 25 21 22 23", "15 11 12 13 14" }
6
1
2
2
2
Returns: {"1 -1 15 -1 11 -1", "12 -1 2 -1 16 -1", "17 -1 7 -1 3 -1", "4 -1 18 -1 8 -1", "9 -1 5 -1 13 -1", "14 -1 10 -1 6 -1" }
1
0
0
0
0
Returns: {"1" }
4
2
0
3
0
Returns: {"1 -1 -1 -1", "4 -1 -1 -1", "2 -1 -1 -1", "3 -1 -1 -1" }
5
4
3
0
0
Returns: {"1 -1 -1 -1 -1", "-1 -1 5 -1 -1", "-1 -1 -1 -1 4", "-1 3 -1 -1 -1", "-1 -1 -1 2 -1" }
6
4
0
0
0
Returns: {"1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1", "3 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1", "2 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1" }
7
3
2
2
5
Returns: {"1 46 42 31 27 16 12", "25 21 10 6 44 40 29", "49 38 34 23 19 8 4", "17 13 2 47 36 32 28", "41 30 26 15 11 7 45", "9 5 43 39 35 24 20", "33 22 18 14 3 48 37" }
8
4
1
6
5
Returns: {"1 24 3 18 5 20 7 22", "-1 -1 -1 -1 -1 -1 -1 -1", "12 27 14 29 16 31 10 25", "-1 -1 -1 -1 -1 -1 -1 -1", "23 2 17 4 19 6 21 8", "-1 -1 -1 -1 -1 -1 -1 -1", "26 13 28 15 30 9 32 11", "-1 -1 -1 -1 -1 -1 -1 -1" }
9
8
7
0
7
Returns: {"1 37 73 28 64 19 55 10 46", "18 54 9 45 81 36 72 27 63", "26 62 17 53 8 44 80 35 71", "34 70 25 61 16 52 7 43 79", "42 78 33 69 24 60 15 51 6", "50 5 41 77 32 68 23 59 14", "58 13 49 4 40 76 31 67 22", "66 21 57 12 48 3 39 75 30", "74 29 65 20 56 11 47 2 38" }
10
7
3
8
4
Returns: {"1 -1 17 -1 23 -1 39 -1 45 -1", "-1 20 -1 26 -1 32 -1 48 -1 4", "13 -1 29 -1 35 -1 41 -1 7 -1", "-1 22 -1 38 -1 44 -1 10 -1 16", "25 -1 31 -1 47 -1 3 -1 19 -1", "-1 34 -1 50 -1 6 -1 12 -1 28", "37 -1 43 -1 9 -1 15 -1 21 -1", "-1 46 -1 2 -1 18 -1 24 -1 40", "49 -1 5 -1 11 -1 27 -1 33 -1", "-1 8 -1 14 -1 30 -1 36 -1 42" }
2
1
1
1
1
Returns: {"1 -1", "-1 2" }
2
0
0
0
0
Returns: {"1 -1", "-1 -1" }
2
1
0
0
1
Returns: {"1 3", "2 4" }
2
0
0
1
0
Returns: {"1 -1", "2 -1" }
2
0
1
0
1
Returns: {"1 2", "-1 -1" }
3
0
1
1
0
Returns: {"1 2 3", "4 5 6", "7 8 9" }
3
2
0
2
0
Returns: {"1 -1 -1", "3 -1 -1", "2 -1 -1" }
3
0
2
0
0
Returns: {"1 3 2", "-1 -1 -1", "-1 -1 -1" }
3
0
0
0
0
Returns: {"1 -1 -1", "-1 -1 -1", "-1 -1 -1" }
3
2
1
0
0
Returns: {"1 -1 -1", "-1 -1 3", "-1 2 -1" }
3
0
0
1
1
Returns: {"1 -1 -1", "-1 2 -1", "-1 -1 3" }
7
6
0
2
0
Returns: {"1 -1 -1 -1 -1 -1 -1", "7 -1 -1 -1 -1 -1 -1", "6 -1 -1 -1 -1 -1 -1", "5 -1 -1 -1 -1 -1 -1", "4 -1 -1 -1 -1 -1 -1", "3 -1 -1 -1 -1 -1 -1", "2 -1 -1 -1 -1 -1 -1" }
7
6
5
4
3
Returns: {"1 31 12 42 16 46 27", "45 26 7 30 11 41 15", "40 21 44 25 6 29 10", "35 9 39 20 43 24 5", "23 4 34 8 38 19 49", "18 48 22 3 33 14 37", "13 36 17 47 28 2 32" }
8
0
4
0
4
Returns: {"1 -1 -1 -1 2 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1" }
8
4
6
4
6
Returns: {"1 -1 -1 -1 3 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 4 -1 -1 -1 2 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1" }
8
0
4
0
7
Returns: {"1 8 6 4 2 7 5 3", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1" }
8
2
0
5
6
Returns: {"1 -1 -1 -1 12 -1 -1 -1", "-1 -1 14 -1 -1 -1 7 -1", "2 -1 -1 -1 9 -1 -1 -1", "-1 -1 15 -1 -1 -1 8 -1", "3 -1 -1 -1 10 -1 -1 -1", "-1 -1 16 -1 -1 -1 5 -1", "4 -1 -1 -1 11 -1 -1 -1", "-1 -1 13 -1 -1 -1 6 -1" }
8
0
1
6
2
Returns: {"1 2 3 4 5 6 7 8", "-1 -1 -1 -1 -1 -1 -1 -1", "27 28 29 30 31 32 25 26", "-1 -1 -1 -1 -1 -1 -1 -1", "21 22 23 24 17 18 19 20", "-1 -1 -1 -1 -1 -1 -1 -1", "15 16 9 10 11 12 13 14", "-1 -1 -1 -1 -1 -1 -1 -1" }
8
6
5
1
6
Returns: {"1 18 35 52 5 22 39 56", "43 60 13 30 47 64 9 26", "21 38 55 8 17 34 51 4", "63 16 25 42 59 12 29 46", "33 50 3 20 37 54 7 24", "11 28 45 62 15 32 41 58", "53 6 23 40 49 2 19 36", "31 48 57 10 27 44 61 14" }
9
3
3
6
6
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 2 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 3 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1" }
9
1
0
7
0
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1", "2 -1 -1 -1 -1 -1 -1 -1 -1", "3 -1 -1 -1 -1 -1 -1 -1 -1", "4 -1 -1 -1 -1 -1 -1 -1 -1", "5 -1 -1 -1 -1 -1 -1 -1 -1", "6 -1 -1 -1 -1 -1 -1 -1 -1", "7 -1 -1 -1 -1 -1 -1 -1 -1", "8 -1 -1 -1 -1 -1 -1 -1 -1", "9 -1 -1 -1 -1 -1 -1 -1 -1" }
9
0
6
8
5
Returns: {"1 -1 -1 3 -1 -1 2 -1 -1", "-1 26 -1 -1 25 -1 -1 27 -1", "-1 -1 24 -1 -1 23 -1 -1 22", "20 -1 -1 19 -1 -1 21 -1 -1", "-1 18 -1 -1 17 -1 -1 16 -1", "-1 -1 13 -1 -1 15 -1 -1 14", "12 -1 -1 11 -1 -1 10 -1 -1", "-1 7 -1 -1 9 -1 -1 8 -1", "-1 -1 5 -1 -1 4 -1 -1 6" }
9
7
0
4
8
Returns: {"1 80 69 58 47 45 34 23 12", "5 75 64 62 51 40 29 27 16", "9 79 68 57 46 44 33 22 11", "4 74 72 61 50 39 28 26 15", "8 78 67 56 54 43 32 21 10", "3 73 71 60 49 38 36 25 14", "7 77 66 55 53 42 31 20 18", "2 81 70 59 48 37 35 24 13", "6 76 65 63 52 41 30 19 17" }
10
5
0
5
0
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "2 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1" }
10
5
5
0
5
Returns: {"1 -1 -1 -1 -1 3 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "4 -1 -1 -1 -1 2 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1" }
10
2
2
0
0
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 2 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 3 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 4 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 5 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1" }
10
8
4
1
8
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 6 -1", "-1 -1 -1 -1 -1 -1 5 -1 -1 -1", "-1 -1 -1 -1 10 -1 -1 -1 -1 -1", "-1 -1 4 -1 -1 -1 -1 -1 -1 -1", "9 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 3 -1", "-1 -1 -1 -1 -1 -1 8 -1 -1 -1", "-1 -1 -1 -1 2 -1 -1 -1 -1 -1", "-1 -1 7 -1 -1 -1 -1 -1 -1 -1" }
10
5
5
1
4
Returns: {"1 -1 -1 -1 -1 12 -1 -1 -1 -1", "-1 -1 -1 -1 3 -1 -1 -1 -1 14", "-1 -1 -1 16 -1 -1 -1 -1 5 -1", "-1 -1 7 -1 -1 -1 -1 18 -1 -1", "-1 20 -1 -1 -1 -1 9 -1 -1 -1", "11 -1 -1 -1 -1 2 -1 -1 -1 -1", "-1 -1 -1 -1 13 -1 -1 -1 -1 4", "-1 -1 -1 6 -1 -1 -1 -1 15 -1", "-1 -1 17 -1 -1 -1 -1 8 -1 -1", "-1 10 -1 -1 -1 -1 19 -1 -1 -1" }
10
2
6
8
6
Returns: {"1 -1 7 -1 13 -1 19 -1 25 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "14 -1 20 -1 21 -1 2 -1 8 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "22 -1 3 -1 9 -1 15 -1 16 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "10 -1 11 -1 17 -1 23 -1 4 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "18 -1 24 -1 5 -1 6 -1 12 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1" }
10
9
2
7
4
Returns: {"1 -1 49 -1 32 -1 25 -1 18 -1", "48 -1 31 -1 24 -1 17 -1 10 -1", "40 -1 23 -1 16 -1 9 -1 47 -1", "22 -1 15 -1 8 -1 46 -1 39 -1", "14 -1 7 -1 45 -1 38 -1 21 -1", "6 -1 44 -1 37 -1 30 -1 13 -1", "43 -1 36 -1 29 -1 12 -1 5 -1", "35 -1 28 -1 11 -1 4 -1 42 -1", "27 -1 20 -1 3 -1 41 -1 34 -1", "19 -1 2 -1 50 -1 33 -1 26 -1" }
10
1
3
9
0
Returns: {"1 78 45 12 89 56 23 100 67 34", "91 68 35 2 79 46 13 90 57 24", "81 58 25 92 69 36 3 80 47 14", "71 48 15 82 59 26 93 70 37 4", "61 38 5 72 49 16 83 60 27 94", "51 28 95 62 39 6 73 50 17 84", "41 18 85 52 29 96 63 40 7 74", "31 8 75 42 19 86 53 30 97 64", "21 98 65 32 9 76 43 20 87 54", "11 88 55 22 99 66 33 10 77 44" }
10
0
0
0
0
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1" }
6
2
3
1
2
Returns: {"1 18 29 4 15 26", "21 32 7 24 35 10", "5 16 27 2 13 30", "19 36 11 22 33 8", "3 14 25 6 17 28", "23 34 9 20 31 12" }
7
5
5
2
0
Returns: {"1 25 49 17 41 9 33", "29 4 28 45 20 37 12", "8 32 7 24 48 16 40", "36 11 35 3 27 44 19", "15 39 14 31 6 23 47", "43 18 42 10 34 2 26", "22 46 21 38 13 30 5" }
8
1
0
0
7
Returns: {"1 57 49 41 33 25 17 9", "2 58 50 42 34 26 18 10", "3 59 51 43 35 27 19 11", "4 60 52 44 36 28 20 12", "5 61 53 45 37 29 21 13", "6 62 54 46 38 30 22 14", "7 63 55 47 39 31 23 15", "8 64 56 48 40 32 24 16" }
9
0
4
8
0
Returns: {"1 8 6 4 2 9 7 5 3", "73 80 78 76 74 81 79 77 75", "64 71 69 67 65 72 70 68 66", "55 62 60 58 56 63 61 59 57", "46 53 51 49 47 54 52 50 48", "37 44 42 40 38 45 43 41 39", "28 35 33 31 29 36 34 32 30", "19 26 24 22 20 27 25 23 21", "10 17 15 13 11 18 16 14 12" }
10
8
9
7
4
Returns: {"1 28 45 62 89 6 23 50 67 84", "97 14 31 58 75 92 19 36 53 80", "83 10 27 44 61 88 5 22 49 66", "79 96 13 40 57 74 91 18 35 52", "65 82 9 26 43 70 87 4 21 48", "51 78 95 12 39 56 73 100 17 34", "47 64 81 8 25 42 69 86 3 30", "33 60 77 94 11 38 55 72 99 16", "29 46 63 90 7 24 41 68 85 2", "15 32 59 76 93 20 37 54 71 98" }
10
9
2
2
2
Returns: {"1 -1 25 -1 49 -1 13 -1 37 -1", "24 -1 48 -1 12 -1 36 -1 10 -1", "47 -1 11 -1 35 -1 9 -1 23 -1", "20 -1 34 -1 8 -1 22 -1 46 -1", "33 -1 7 -1 21 -1 45 -1 19 -1", "6 -1 30 -1 44 -1 18 -1 32 -1", "29 -1 43 -1 17 -1 31 -1 5 -1", "42 -1 16 -1 40 -1 4 -1 28 -1", "15 -1 39 -1 3 -1 27 -1 41 -1", "38 -1 2 -1 26 -1 50 -1 14 -1" }
10
1
2
2
1
Returns: {"1 35 69 93 27 51 85 19 43 77", "44 78 2 36 70 94 28 52 86 20", "87 11 45 79 3 37 61 95 29 53", "30 54 88 12 46 80 4 38 62 96", "63 97 21 55 89 13 47 71 5 39", "6 40 64 98 22 56 90 14 48 72", "49 73 7 31 65 99 23 57 81 15", "82 16 50 74 8 32 66 100 24 58", "25 59 83 17 41 75 9 33 67 91", "68 92 26 60 84 18 42 76 10 34" }
5
0
0
1
1
Returns: {"1 -1 -1 -1 -1", "-1 2 -1 -1 -1", "-1 -1 3 -1 -1", "-1 -1 -1 4 -1", "-1 -1 -1 -1 5" }
8
0
0
1
1
Returns: {"1 -1 -1 -1 -1 -1 -1 -1", "-1 2 -1 -1 -1 -1 -1 -1", "-1 -1 3 -1 -1 -1 -1 -1", "-1 -1 -1 4 -1 -1 -1 -1", "-1 -1 -1 -1 5 -1 -1 -1", "-1 -1 -1 -1 -1 6 -1 -1", "-1 -1 -1 -1 -1 -1 7 -1", "-1 -1 -1 -1 -1 -1 -1 8" }
2
0
1
0
0
Returns: {"1 2", "-1 -1" }
9
3
7
4
8
Returns: {"1 56 30 4 59 33 7 62 36", "44 18 64 38 12 67 41 15 70", "78 52 26 81 46 20 75 49 23", "31 5 60 34 8 63 28 2 57", "65 39 13 68 42 16 71 45 10", "27 73 47 21 76 50 24 79 53", "61 35 9 55 29 3 58 32 6", "14 69 43 17 72 37 11 66 40", "48 22 77 51 25 80 54 19 74" }
5
0
0
4
4
Returns: {"1 -1 -1 -1 -1", "-1 5 -1 -1 -1", "-1 -1 4 -1 -1", "-1 -1 -1 3 -1", "-1 -1 -1 -1 2" }
10
1
1
1
0
Returns: {"1 92 83 74 65 56 47 38 29 20", "11 2 93 84 75 66 57 48 39 30", "21 12 3 94 85 76 67 58 49 40", "31 22 13 4 95 86 77 68 59 50", "41 32 23 14 5 96 87 78 69 60", "51 42 33 24 15 6 97 88 79 70", "61 52 43 34 25 16 7 98 89 80", "71 62 53 44 35 26 17 8 99 90", "81 72 63 54 45 36 27 18 9 100", "91 82 73 64 55 46 37 28 19 10" }
10
1
1
1
1
Returns: {"1 -1 -1 -1 -1 -1 -1 -1 -1 -1", "-1 2 -1 -1 -1 -1 -1 -1 -1 -1", "-1 -1 3 -1 -1 -1 -1 -1 -1 -1", "-1 -1 -1 4 -1 -1 -1 -1 -1 -1", "-1 -1 -1 -1 5 -1 -1 -1 -1 -1", "-1 -1 -1 -1 -1 6 -1 -1 -1 -1", "-1 -1 -1 -1 -1 -1 7 -1 -1 -1", "-1 -1 -1 -1 -1 -1 -1 8 -1 -1", "-1 -1 -1 -1 -1 -1 -1 -1 9 -1", "-1 -1 -1 -1 -1 -1 -1 -1 -1 10" }
10
1
3
2
5
Returns: {"1 93 85 77 69 51 43 35 27 19", "36 28 20 2 94 86 78 70 52 44", "61 53 45 37 29 11 3 95 87 79", "96 88 80 62 54 46 38 30 12 4", "21 13 5 97 89 71 63 55 47 39", "56 48 40 22 14 6 98 90 72 64", "81 73 65 57 49 31 23 15 7 99", "16 8 100 82 74 66 58 50 32 24", "41 33 25 17 9 91 83 75 67 59", "76 68 60 42 34 26 18 10 92 84" }
10
1
0
1
1
Returns: {"1 20 29 38 47 56 65 74 83 92", "2 11 30 39 48 57 66 75 84 93", "3 12 21 40 49 58 67 76 85 94", "4 13 22 31 50 59 68 77 86 95", "5 14 23 32 41 60 69 78 87 96", "6 15 24 33 42 51 70 79 88 97", "7 16 25 34 43 52 61 80 89 98", "8 17 26 35 44 53 62 71 90 99", "9 18 27 36 45 54 63 72 81 100", "10 19 28 37 46 55 64 73 82 91" }