251152026-02-18 00:49:59999Bizonyításcpp17Időlimit túllépés 25/501.093s4404 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() {
    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")<<endl;
            /*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
1Elfogadva1ms316 KiB
2Elfogadva340ms4404 KiB
subtask210/10
3Elfogadva4ms508 KiB
4Elfogadva14ms564 KiB
5Elfogadva65ms2608 KiB
6Elfogadva46ms1948 KiB
7Elfogadva64ms1808 KiB
8Elfogadva2ms820 KiB
9Elfogadva2ms316 KiB
10Elfogadva19ms760 KiB
11Elfogadva54ms1404 KiB
12Elfogadva50ms2356 KiB
subtask315/15
13Elfogadva1ms508 KiB
14Elfogadva3ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva2ms316 KiB
17Elfogadva1ms388 KiB
18Elfogadva1ms428 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva2ms316 KiB
23Elfogadva2ms316 KiB
24Elfogadva1ms380 KiB
25Elfogadva2ms392 KiB
26Elfogadva2ms416 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms508 KiB
29Elfogadva2ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms500 KiB
33Elfogadva1ms580 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva2ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
subtask40/25
39Elfogadva1ms508 KiB
40Elfogadva365ms4332 KiB
41Elfogadva4ms508 KiB
42Elfogadva14ms564 KiB
43Elfogadva65ms2608 KiB
44Elfogadva46ms1948 KiB
45Elfogadva64ms1808 KiB
46Elfogadva2ms820 KiB
47Elfogadva2ms316 KiB
48Elfogadva19ms760 KiB
49Elfogadva54ms1404 KiB
50Elfogadva50ms2356 KiB
51Elfogadva3ms316 KiB
52Elfogadva2ms316 KiB
53Elfogadva2ms316 KiB
54Elfogadva1ms388 KiB
55Elfogadva1ms428 KiB
56Elfogadva1ms316 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms316 KiB
59Elfogadva2ms316 KiB
60Elfogadva2ms316 KiB
61Elfogadva1ms380 KiB
62Elfogadva2ms392 KiB
63Elfogadva2ms416 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms508 KiB
66Elfogadva2ms316 KiB
67Elfogadva1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms500 KiB
70Elfogadva1ms580 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms316 KiB
73Elfogadva2ms316 KiB
74Elfogadva1ms316 KiB
75Elfogadva1ms316 KiB
76Elfogadva172ms820 KiB
77Elfogadva32ms1468 KiB
78Elfogadva345ms3168 KiB
79Elfogadva32ms1524 KiB
80Elfogadva222ms2612 KiB
81Elfogadva138ms820 KiB
82Elfogadva136ms1076 KiB
83Elfogadva68ms1556 KiB
84Elfogadva120ms2148 KiB
85Elfogadva208ms2968 KiB
86Elfogadva256ms1328 KiB
87Elfogadva221ms2616 KiB
88Elfogadva70ms1456 KiB
89Elfogadva75ms1652 KiB
90Elfogadva493ms2984 KiB
91Elfogadva237ms4140 KiB
92Elfogadva479ms2740 KiB
93Elfogadva226ms3392 KiB
94Elfogadva500ms2872 KiB
95Elfogadva228ms3140 KiB
96Elfogadva241ms3892 KiB
97Elfogadva187ms4076 KiB
98Elfogadva287ms3124 KiB
99Elfogadva321ms3436 KiB
100Időlimit túllépés1.082s3124 KiB
101Időlimit túllépés1.09s3124 KiB
102Időlimit túllépés1.085s3380 KiB
103Időlimit túllépés1.093s3368 KiB
104Időlimit túllépés1.092s3172 KiB