186402025-10-29 14:34:16ubormaciBizonyításcpp17Elfogadva 50/50298ms9112 KiB
#include <iostream>
#include <cstdint>
#include <algorithm>

#include <vector>
#include <set>
#include <map>
#include <queue>

using namespace std;

typedef int64_t ll;

// megneztem a megoldast
// eleg okos, meg kell hagyni

void solve() {

    ll n, q;
    cin >> n >> q;

    ll inf = INT64_MAX / 10;

    vector<vector<ll>> d(n+1, vector<ll>(n+1, inf));

    vector<pair<pair<ll,ll>,ll>> ask;
    for(ll qi = 1; qi <= q; qi++) {  
        ll type, from, to;
        cin >> type >> from >> to;
        if(type == 2) {
            ask.push_back({{from, to}, qi});
        }else{
            d[from][to] = min(d[from][to], qi);
        }
    }

    // floyd warshall
    for(ll k = 1; k <= n; k++) {
        for(ll i = 1; i <= n; i++) {
            for(ll j = 1; j <= n; j++) {

                //cerr << "\nk=" << k << "; i=" << i << "; j=" << j;
                //cerr << "\ndp[i][k]=" << d[i][k] << "; dp[k][j]=" << d[k][j];

                if(d[i][k] < inf && d[k][j] < inf) {

                    //cerr << "\nedges aren't inf";

                    d[i][j] = min(max(d[i][k], d[k][j]), d[i][j]);

                    
                }

            }
        }
    }

    /*
    for(ll i = 1; i <= n; i++) {
        for(ll j = 1; j <= n; j++) {
            cerr << "\nd[" << i << "][" << j << "]=" << d[i][j]; 
        }
    }
    */

    for(const auto & [route, time] : ask) {
        ll from = route.first;
        ll to = route.second;

        //cerr << "\n" << from << "," << to << ", t=" << time;

        if(d[from][to] < time) {
            cout << "IGEN\n";
        }else{
            cout << "NEM\n";
        }
    }

}

int main() {
    
    std::ios_base::sync_with_stdio(false);
    
    solve();
    
    return 0;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva296ms5548 KiB
subtask210/10
3Elfogadva3ms508 KiB
4Elfogadva14ms820 KiB
5Elfogadva230ms3132 KiB
6Elfogadva101ms2036 KiB
7Elfogadva90ms2096 KiB
8Elfogadva17ms820 KiB
9Elfogadva2ms508 KiB
10Elfogadva16ms820 KiB
11Elfogadva61ms1840 KiB
12Elfogadva180ms2608 KiB
subtask315/15
13Elfogadva1ms512 KiB
14Elfogadva2ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva2ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms540 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
27Elfogadva1ms380 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms316 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
subtask425/25
39Elfogadva1ms512 KiB
40Elfogadva298ms5588 KiB
41Elfogadva3ms508 KiB
42Elfogadva14ms820 KiB
43Elfogadva230ms3132 KiB
44Elfogadva101ms2036 KiB
45Elfogadva90ms2096 KiB
46Elfogadva17ms820 KiB
47Elfogadva2ms508 KiB
48Elfogadva16ms820 KiB
49Elfogadva61ms1840 KiB
50Elfogadva180ms2608 KiB
51Elfogadva2ms316 KiB
52Elfogadva1ms316 KiB
53Elfogadva2ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms316 KiB
56Elfogadva1ms316 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms316 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms316 KiB
61Elfogadva1ms540 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms380 KiB
65Elfogadva1ms316 KiB
66Elfogadva1ms316 KiB
67Elfogadva1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms316 KiB
73Elfogadva1ms316 KiB
74Elfogadva1ms316 KiB
75Elfogadva1ms316 KiB
76Elfogadva28ms3492 KiB
77Elfogadva86ms1780 KiB
78Elfogadva192ms5020 KiB
79Elfogadva71ms1772 KiB
80Elfogadva136ms4520 KiB
81Elfogadva28ms2472 KiB
82Elfogadva35ms2224 KiB
83Elfogadva52ms1588 KiB
84Elfogadva97ms3000 KiB
85Elfogadva177ms3436 KiB
86Elfogadva52ms3872 KiB
87Elfogadva145ms4792 KiB
88Elfogadva68ms2096 KiB
89Elfogadva85ms2100 KiB
90Elfogadva177ms8348 KiB
91Elfogadva273ms4068 KiB
92Elfogadva174ms8188 KiB
93Elfogadva219ms3756 KiB
94Elfogadva178ms8344 KiB
95Elfogadva196ms5544 KiB
96Elfogadva211ms5548 KiB
97Elfogadva219ms4016 KiB
98Elfogadva184ms5796 KiB
99Elfogadva209ms5848 KiB
100Elfogadva202ms8396 KiB
101Elfogadva202ms8356 KiB
102Elfogadva229ms9112 KiB
103Elfogadva229ms9112 KiB
104Elfogadva194ms8352 KiB