In a $m\times n$ square grid, with top-left corner is $A$, there is route along the edges of the grid starting from $A$ and visits all lattice points (called "nodes") exactly once and ending also at $A$.

a. Prove that this route exists if and only if at least one of $m,\ n$ is odd.
b. If such a route exists, then what is the least possible of turning points?

*A turning point is a node that is different from $A$ and if two edges on the route intersect at the node are perpendicular.
### Part (a): Prove that this route exists if and only if at least one of \( m, n \) is odd.

1. **Necessity**: Assume that both \( m \) and \( n \) are even. We need to show that a route visiting all nodes exactly once and returning to \( A \) is impossible.
    - Consider the parity of the number of nodes. The total number of nodes in an \( m \times n \) grid is \( mn \). If both \( m \) and \( n \) are even, then \( mn \) is even.
    - A Hamiltonian cycle (a cycle that visits each node exactly once and returns to the starting node) in a bipartite graph must alternate between two sets of nodes. In an \( m \times n \) grid, the nodes can be colored in a checkerboard pattern, making it bipartite.
    - Since \( mn \) is even, the number of nodes in each set of the bipartition is equal. However, a Hamiltonian cycle in a bipartite graph with an even number of nodes must start and end in different sets, making it impossible to return to the starting node \( A \).

2. **Sufficiency**: Assume that at least one of \( m \) or \( n \) is odd. We need to show that a route visiting all nodes exactly once and returning to \( A \) is possible.
    - Without loss of generality, assume \( m \) is odd. We can construct a Hamiltonian cycle as follows:
        - Start at \( A \) and move right along the first row until the end.
        - Move down one row and move left along the second row until the beginning.
        - Continue this zigzag pattern until the last row.
        - Since \( m \) is odd, the last row will end at the rightmost column. From there, move up one column and continue the zigzag pattern in reverse until reaching \( A \).

Thus, a Hamiltonian cycle exists if and only if at least one of \( m \) or \( n \) is odd.

### Part (b): Least possible number of turning points

1. **Case 1: \(\min \{ m, n \}\) is even**:
    - From the solution provided, the least number of turning points is \( 2\min \{ m, n \} + 1 \).

2. **Case 2: \(\min \{ m, n \}\) is odd**:
    - From the solution provided, the least number of turning points is \( 2\max \{ m, n \} + 1 \).

3. **Proof for the least number of turning points**:
    - When \(\min \{ m, n \}\) is even, the construction involves moving in a zigzag pattern, ensuring that the number of turning points is minimized.
    - When \(\min \{ m, n \}\) is odd, the construction involves a similar zigzag pattern but ensures that the number of turning points is minimized by considering the larger dimension.

Thus, the least possible number of turning points is \( 2\min \{ m, n \} + 1 \) when \(\min \{ m, n \}\) is even, and \( 2\max \{ m, n \} + 1 \) when \(\min \{ m, n \}\) is odd.

The final answer is \( \boxed{ 2\min \{ m, n \} + 1 } \) when \(\min \{ m, n \}\) is even, and \( 2\max \{ m, n \} + 1 \) when \(\min \{ m, n \}\) is odd.