Submission #1133854

#TimeUsernameProblemLanguageResultExecution timeMemory
1133854sidripperTracks in the Snow (BOI13_tracks)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; void dfs(int row, int col, int H, int W, vector<vector<char>>& grid, set<pair<int, int>>* visited, int* rabbit, int* fox) { if (row < 0 || col < 0 || col >= W || row >= H || grid[row][col] == '.' || visited->find({row, col}) != visited->end()) { return; } visited->insert({row, col}); if (grid[row][col] == 'R') { *rabbit = 1; } if (grid[row][col] == 'F') { *fox = 1; } dfs(row+1, col, H, W, grid, visited, rabbit, fox); dfs(row-1, col, H, W, grid, visited, rabbit, fox); dfs(row, col+1, H, W, grid, visited, rabbit, fox); dfs(row, col-1, H, W, grid, visited, rabbit, fox); } int main () { int H, W; cin >> H >> W; vector< vector<char> > grid(H, vector<char>(W)); for (int i=0; i<H; i++) { for (int j=0; j<W; j++) { cin >> grid[i][j]; } } set<pair<int, int>> visited; int ans = 0; for (int row=0; row<H; row++) { for (int col=0; col<W; col++) { if (grid[row][col] == '.' || visited.find({row, col}) != visited.end()) { continue; } int rabbit = 0; int fox = 0; dfs(row, col, H, W, &grid, &visited, &rabbit, &fox); ans += rabbit; ans += fox; } } cout << ans; }

Compilation message (stderr)

tracks.cpp: In function 'int main()':
tracks.cpp:48:45: error: invalid initialization of non-const reference of type 'std::vector<std::vector<char> >&' from an rvalue of type 'std::vector<std::vector<char> >*'
   48 |                         dfs(row, col, H, W, &grid, &visited, &rabbit, &fox);
      |                                             ^~~~~
tracks.cpp:6:64: note: in passing argument 5 of 'void dfs(int, int, int, int, std::vector<std::vector<char> >&, std::set<std::pair<int, int> >*, int*, int*)'
    6 | void dfs(int row, int col, int H, int W, vector<vector<char>>& grid, set<pair<int, int>>* visited, int* rabbit, int* fox) {
      |                                          ~~~~~~~~~~~~~~~~~~~~~~^~~~