Submission #1311986

#TimeUsernameProblemLanguageResultExecution timeMemory
1311986schoolpurposesDrivers (BOI24_drivers)C++20
11 / 100
2095 ms1144 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, m, u;
    cin >> n >> m >> u;
    
    vector<vector<pair<int, int>>> al(n + 1);
    
    for (int i = 0; i < m; i++) {
        int x, y, t;
        cin >> x >> y >> t;
        al[x].push_back({y, t});
        al[y].push_back({x, t});
    }
    
    while (u--) {
        int a, b, p;
        cin >> a >> b >> p;
        
        vector<bool> visited(n + 1, false);
        queue<int> q;
        q.push(a);
        visited[a] = true;
        bool reach = false;
        
        while (!q.empty() && !reach) {
            int city = q.front();
            q.pop();
            
            if (city == b) {
                reach = true;
                break;
            }
            
            for (auto road : al[city]) {
                int dest = road.first;
                int time = road.second;
                if (!visited[dest] && time <= p) {
                    visited[dest] = true;
                    q.push(dest);
                }
            }
        }
        
        if(reach){
            cout << "TAIP" << '\n';
        }
        else{
            cout << "NE" << '\n';
        }
    }
    
    return 0;
}
#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...