Submission #525157

#TimeUsernameProblemLanguageResultExecution timeMemory
525157dron_rpTrampoline (info1cup20_trampoline)C++14
0 / 100
2107 ms72992 KiB
#include <bits/stdc++.h> using namespace std; int r, c, n; set<pair<int, int>> green; bool bfs(int& x, int& y, int& xf, int& yf){ queue<pair<int, int>> q; q.push({x, y}); vector<vector<bool>> visited(10000, vector<bool>(10000, false)); visited[x][y] = true; while (!q.empty()){ pair<int, int> t = q.front(); q.pop(); int i, j; tie(i, j) = t; if (i == xf && j == yf) return true; if (j+1 <= c) q.push({i, j+1}); if (green.count({i, j})){ if (i+1 <= r) q.push({i+1, j}); } } return false; } /* bool dfs(int x, int y, int xf, int yf){ //cout << x << " " << y << "\n"; if (x == xf && y == yf){ return true; } if (x == r && y == c) return false; bool canReach = false; if (y+1 <= c) canReach |= dfs(x, y+1, xf, yf); if (green.find({x, y}) != green.end()){ if (x+1 <= r) canReach |= dfs(x+1, y, xf, yf); } return canReach; } */ int main(){ scanf ("%d",&r); scanf ("%d",&c); scanf ("%d",&n); int x, y; for (int i = 0; i<n; i++){ scanf ("%d",&x); scanf ("%d",&y); green.insert({x, y}); } int t, xStart, yStart, xEnd, yEnd; scanf ("%d",&t); while (t--){ scanf ("%d",&xStart); scanf ("%d",&yStart); scanf ("%d",&xEnd); scanf ("%d",&yEnd); if (bfs(xStart, yStart, xEnd, yEnd)){ printf("Yes"); } else{ printf("No"); } } }

Compilation message (stderr)

trampoline.cpp: In function 'int main()':
trampoline.cpp:43:11: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |     scanf ("%d",&r);
      |     ~~~~~~^~~~~~~~~
trampoline.cpp:44:11: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |     scanf ("%d",&c);
      |     ~~~~~~^~~~~~~~~
trampoline.cpp:45:11: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |     scanf ("%d",&n);
      |     ~~~~~~^~~~~~~~~
trampoline.cpp:48:15: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   48 |         scanf ("%d",&x);
      |         ~~~~~~^~~~~~~~~
trampoline.cpp:49:15: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   49 |         scanf ("%d",&y);
      |         ~~~~~~^~~~~~~~~
trampoline.cpp:53:11: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   53 |     scanf ("%d",&t);
      |     ~~~~~~^~~~~~~~~
trampoline.cpp:55:15: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   55 |         scanf ("%d",&xStart);
      |         ~~~~~~^~~~~~~~~~~~~~
trampoline.cpp:56:15: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   56 |         scanf ("%d",&yStart);
      |         ~~~~~~^~~~~~~~~~~~~~
trampoline.cpp:57:15: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   57 |         scanf ("%d",&xEnd);
      |         ~~~~~~^~~~~~~~~~~~
trampoline.cpp:58:15: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   58 |         scanf ("%d",&yEnd);
      |         ~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...