Submission #487911

#TimeUsernameProblemLanguageResultExecution timeMemory
487911maks007Trampoline (info1cup20_trampoline)C++14
23 / 100
2100 ms416052 KiB
#include <bits/stdc++.h> using namespace std; void solve() { int n, m, green; cin >> n >> m >> green; const int N = n * m; vector <int> used(N); vector <vector <int>> g(N); pair <int, int> mp[n][m]; int cnt = 0; for(int i = 0; i < n; i ++) { for(int j = 0; j < m; j ++) { mp[i][j].first = cnt ++; mp[i][j].second = 0; } } for(int i = 0; i < green; i ++) { int x, y; cin >> x >> y; x --; y --; mp[x][y].second = 1; } for(int i = 0; i < n; i ++) { for(int j = 0; j < m; j ++) { if(j != m - 1) g[mp[i][j].first].push_back(mp[i][j+1].first); if(i != n - 1) if(mp[i][j].second == 1) g[mp[i][j].first].push_back(mp[i+1][j].first); } } int q; cin >> q; queue <int> order; while(q --) { pair <int, int> start, end; cin >> start.first >> start.second; cin >> end.first >> end.second; end.first --; end.second --; start.first --; start.second --; for(int i = 0; i < used.size(); i ++) used[i] = 0; order.push(mp[start.first][start.second].first); used[mp[start.first][start.second].first] = 1; while(!order.empty()) { int v = order.front(); order.pop(); for(int i = 0; i < g[v].size(); i ++) { if(!used[g[v][i]]) { order.push(g[v][i]); used[g[v][i]] = 1; } } } if(used[mp[end.first][end.second].first]) cout << "Yes\n"; else cout << "No\n"; } } int main() { ios::sync_with_stdio(0); cin.tie(0); int Q = 1; //cin >> Q; while (Q --) { solve(); } return 0; }

Compilation message (stderr)

trampoline.cpp: In function 'void solve()':
trampoline.cpp:49:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   for(int i = 0; i < used.size(); i ++) used[i] = 0;
      |                  ~~^~~~~~~~~~~~~
trampoline.cpp:55:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |    for(int i = 0; i < g[v].size(); i ++) {
      |                   ~~^~~~~~~~~~~~~
#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...