Submission #525157

# Submission time Handle Problem Language Result Execution time Memory
525157 2022-02-10T21:44:53 Z dron_rp Trampoline (info1cup20_trampoline) C++14
0 / 100
2000 ms 72992 KB
#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

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 time Memory Grader output
1 Execution timed out 2107 ms 72992 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2094 ms 34308 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 218 ms 45252 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 19 ms 26700 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 150 ms 45436 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -