251162026-02-18 00:53:49999Bizonyításcpp17Időlimit túllépés 25/501.08s4408 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")


vector<vector<int>> v;
vector<vector<int>> b;
vector<int> vis;

bool dfs(int x, int y){
    vis[y]=1;
    if(b[x][y])return 1;
    bool temp=false;
    for(int i : v[y]){
        if(vis[i])continue;
        temp|=dfs(x, i);
    }
    b[x][y]=temp;
    return temp;
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n,q;cin>>n>>q;
    v.resize(n);
    b.resize(n,vector<int>(n));
    vis.resize(n);
    for(int i = 0;i<n;i++)b[i][i]=1;
    while(q--){
        int t;cin>>t;
        if(t==1){
            int x,y;
            cin>>x>>y;
            v[--y].push_back(--x);
            b[x][y]=1;
        }
        else{
            for(int &i : vis)i=0;
            int x,y;cin>>x>>y;
            x--;y--;
            cout<<(dfs(x,y)?"IGEN":"NEM")<<'\n';
            /*for(vector<int> i : b){
                for(int j : i){
                    cerr<<j<<' ';
                }cerr<<endl;
            }cerr<<endl<<endl<<"///////////////////"<<endl<<endl;*/
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
2Elfogadva103ms4408 KiB
subtask210/10
3Elfogadva1ms500 KiB
4Elfogadva4ms820 KiB
5Elfogadva17ms2612 KiB
6Elfogadva14ms1844 KiB
7Elfogadva16ms1848 KiB
8Elfogadva2ms820 KiB
9Elfogadva1ms316 KiB
10Elfogadva6ms820 KiB
11Elfogadva14ms1588 KiB
12Elfogadva14ms2360 KiB
subtask315/15
13Elfogadva1ms508 KiB
14Elfogadva2ms316 KiB
15Elfogadva1ms500 KiB
16Elfogadva2ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms500 KiB
19Elfogadva1ms332 KiB
20Elfogadva1ms508 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms560 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms508 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
27Elfogadva1ms396 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms528 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms544 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
subtask40/25
39Elfogadva1ms508 KiB
40Elfogadva104ms4348 KiB
41Elfogadva1ms500 KiB
42Elfogadva4ms820 KiB
43Elfogadva17ms2612 KiB
44Elfogadva14ms1844 KiB
45Elfogadva16ms1848 KiB
46Elfogadva2ms820 KiB
47Elfogadva1ms316 KiB
48Elfogadva6ms820 KiB
49Elfogadva14ms1588 KiB
50Elfogadva14ms2360 KiB
51Elfogadva2ms316 KiB
52Elfogadva1ms500 KiB
53Elfogadva2ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms500 KiB
56Elfogadva1ms332 KiB
57Elfogadva1ms508 KiB
58Elfogadva1ms316 KiB
59Elfogadva1ms560 KiB
60Elfogadva1ms316 KiB
61Elfogadva1ms508 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms396 KiB
65Elfogadva1ms316 KiB
66Elfogadva1ms316 KiB
67Elfogadva1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms528 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms544 KiB
73Elfogadva1ms316 KiB
74Elfogadva1ms316 KiB
75Elfogadva1ms316 KiB
76Elfogadva25ms728 KiB
77Elfogadva17ms1516 KiB
78Elfogadva83ms3136 KiB
79Elfogadva17ms1332 KiB
80Elfogadva59ms2612 KiB
81Elfogadva23ms924 KiB
82Elfogadva26ms1076 KiB
83Elfogadva24ms1588 KiB
84Elfogadva39ms2192 KiB
85Elfogadva63ms2964 KiB
86Elfogadva43ms1176 KiB
87Elfogadva61ms2628 KiB
88Elfogadva25ms1524 KiB
89Elfogadva28ms1844 KiB
90Elfogadva72ms2864 KiB
91Elfogadva85ms4148 KiB
92Elfogadva71ms2860 KiB
93Elfogadva75ms3380 KiB
94Elfogadva72ms2868 KiB
95Elfogadva43ms3124 KiB
96Elfogadva52ms3892 KiB
97Elfogadva48ms3892 KiB
98Elfogadva48ms3124 KiB
99Elfogadva59ms3380 KiB
100Elfogadva901ms3380 KiB
101Elfogadva912ms3324 KiB
102Időlimit túllépés1.078s3784 KiB
103Időlimit túllépés1.08s3636 KiB
104Elfogadva866ms3380 KiB