題目來源:judgegirl from ntu prof. pangfeng Liu
Task Description
Write a function to determine the number of intersections in a city. You will be given a city map as a 100 by 100 integer array. When the element in the array is 1, it means there is a section of road in that place. When the element in the array is not 1, then it is not a section of road. Now we define all kinds of intersections.
- A cell is an intersection if it is 1, and all of its four neighbors are also 1.
- A cell is a T-junction, if it is 1, and exactly three of its neighbors are also 1.
- A cell is a turn if it is 1 and exactly two of its neighbors are 1, and these two neighbors do not form a straight line with the cell.
- A cell is a dead end if it is 1, and exactly one of its neighbors is 1.
The prototype of the function is as follows.
void
intersection(
int
map[100][100],
int
result[4]);
The map parameter is the city map and the result is where you should place the results - the number of intersection should be placed in result[0], and T-junction should be placed in result[1], etc.
Reference
Problem 33. Intersections