Uber operates an airport shuttle service.
The city is represented as an n × n grid:
0 → empty road
1 → rider waiting
-1 → blocked cell
Movement Rules:
Start at (0,0)
To airport (n-1,n-1) → move only right or down
Return to hub → move only left or up
Riders collected become 0
If no valid path exists → return 0
Goal: Maximize riders collected during full round trip.
Function Signature int maxRiders(vector<vector<int>> city);
1 ≤ n ≤ 100
-1 ≤ city[i][j] ≤ 1