[C#]Q. There is a board game called Ricochet Robot. This board game is a game where you move your horse on a grid, and it tells you how many times you can reach the target position from the start position. In this game, the horse's movement is selected in one of the four directions, up, down, left, and right, and the slide until it hits the obstacle on the board or the end is hit by a single movement. The following is an example of a board game board. where "." denotes the empty space, "R" denotes the initial position of the robot, "D" denotes the position of the obstacle, and "G" denotes the target point. In the above example, moving in the "R" position in the order of down, left, up, left, down, right, up can stop in the "G" position in seven times, which is one of the minimum movements. Given a string array board indicating the status of the game board, complete the solution function that returns at least how many times a horse must move to reach its target position. If the target position cannot be reached, please return -1. Restrictions 3 b board length 100 100 The length of an element of 3 b board 100 100 All the elements in the board are the same length. The string consists of only ".", "D", "R", and "G", each indicating an empty space, an obstacle, the robot's initial position, and a target point. "R" and "G" appear once in a while. Input/Output Example Input/Output Example Description Input/Output Example #1 Same as an example of a problem description. Input/Output Example #2 No matter how you move a horse in the "R" position, you cannot reach "G". Therefore, return -1. [Write only a solution] using System; public class Solution { public int solution(string[] board) { int answer = 0; return answer; } } ...D..R .D.G... ....D.D D....D. ..D.....