vector<int> wavePrint(vector<vector<int>> arr, int r, int c) {
vector<int> ans;
for (int col = 0; col < c; col++) {
if (col & 1) {
// odd index -> bottom to top
for (int row = r - 1; row >= 0; row--) {
cout << arr[row][col] << " ";
ans.push_back(arr[row][col]);
}
}
// 0 or even index -> top to bottom
else {
for (int row = 0; row < r; row++) {
cout << arr[row][col] << " ";
ans.push_back(arr[row][col]);
}
}
}
return ans;
}