186422025-10-29 14:34:59ubormaciBizonyításcpp17Elfogadva 50/50437ms9216 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);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    solve();
    
    return 0;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva433ms5548 KiB
subtask210/10
3Elfogadva4ms316 KiB
4Elfogadva21ms820 KiB
5Elfogadva365ms3124 KiB
6Elfogadva158ms2036 KiB
7Elfogadva137ms2096 KiB
8Elfogadva18ms816 KiB
9Elfogadva2ms316 KiB
10Elfogadva21ms820 KiB
11Elfogadva90ms1840 KiB
12Elfogadva286ms2624 KiB
subtask315/15
13Elfogadva1ms316 KiB
14Elfogadva2ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms456 KiB
27Elfogadva1ms352 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms508 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms348 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
subtask425/25
39Elfogadva1ms316 KiB
40Elfogadva437ms5520 KiB
41Elfogadva4ms316 KiB
42Elfogadva21ms820 KiB
43Elfogadva365ms3124 KiB
44Elfogadva158ms2036 KiB
45Elfogadva137ms2096 KiB
46Elfogadva18ms816 KiB
47Elfogadva2ms316 KiB
48Elfogadva21ms820 KiB
49Elfogadva90ms1840 KiB
50Elfogadva286ms2624 KiB
51Elfogadva2ms316 KiB
52Elfogadva1ms316 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms316 KiB
56Elfogadva1ms316 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms316 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms316 KiB
61Elfogadva1ms316 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms456 KiB
64Elfogadva1ms352 KiB
65Elfogadva1ms316 KiB
66Elfogadva1ms316 KiB
67Elfogadva1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms508 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms316 KiB
73Elfogadva1ms348 KiB
74Elfogadva1ms316 KiB
75Elfogadva1ms316 KiB
76Elfogadva28ms3576 KiB
77Elfogadva138ms1780 KiB
78Elfogadva270ms4944 KiB
79Elfogadva112ms1588 KiB
80Elfogadva189ms4544 KiB
81Elfogadva28ms2400 KiB
82Elfogadva41ms2220 KiB
83Elfogadva75ms1588 KiB
84Elfogadva143ms2992 KiB
85Elfogadva254ms3496 KiB
86Elfogadva52ms3760 KiB
87Elfogadva204ms4680 KiB
88Elfogadva104ms2280 KiB
89Elfogadva128ms2100 KiB
90Elfogadva171ms8352 KiB
91Elfogadva412ms4020 KiB
92Elfogadva171ms8352 KiB
93Elfogadva328ms3600 KiB
94Elfogadva172ms8236 KiB
95Elfogadva225ms5436 KiB
96Elfogadva284ms5596 KiB
97Elfogadva305ms4036 KiB
98Elfogadva214ms5928 KiB
99Elfogadva264ms6036 KiB
100Elfogadva238ms8400 KiB
101Elfogadva241ms8308 KiB
102Elfogadva277ms9216 KiB
103Elfogadva277ms9116 KiB
104Elfogadva233ms8368 KiB