251152026-02-18 00:49:59999Bizonyításcpp17Time limit exceeded 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;*/
        }
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted340ms4404 KiB
subtask210/10
3Accepted4ms508 KiB
4Accepted14ms564 KiB
5Accepted65ms2608 KiB
6Accepted46ms1948 KiB
7Accepted64ms1808 KiB
8Accepted2ms820 KiB
9Accepted2ms316 KiB
10Accepted19ms760 KiB
11Accepted54ms1404 KiB
12Accepted50ms2356 KiB
subtask315/15
13Accepted1ms508 KiB
14Accepted3ms316 KiB
15Accepted2ms316 KiB
16Accepted2ms316 KiB
17Accepted1ms388 KiB
18Accepted1ms428 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
21Accepted1ms316 KiB
22Accepted2ms316 KiB
23Accepted2ms316 KiB
24Accepted1ms380 KiB
25Accepted2ms392 KiB
26Accepted2ms416 KiB
27Accepted1ms316 KiB
28Accepted1ms508 KiB
29Accepted2ms316 KiB
30Accepted1ms316 KiB
31Accepted1ms316 KiB
32Accepted1ms500 KiB
33Accepted1ms580 KiB
34Accepted1ms316 KiB
35Accepted1ms316 KiB
36Accepted2ms316 KiB
37Accepted1ms316 KiB
38Accepted1ms316 KiB
subtask40/25
39Accepted1ms508 KiB
40Accepted365ms4332 KiB
41Accepted4ms508 KiB
42Accepted14ms564 KiB
43Accepted65ms2608 KiB
44Accepted46ms1948 KiB
45Accepted64ms1808 KiB
46Accepted2ms820 KiB
47Accepted2ms316 KiB
48Accepted19ms760 KiB
49Accepted54ms1404 KiB
50Accepted50ms2356 KiB
51Accepted3ms316 KiB
52Accepted2ms316 KiB
53Accepted2ms316 KiB
54Accepted1ms388 KiB
55Accepted1ms428 KiB
56Accepted1ms316 KiB
57Accepted1ms316 KiB
58Accepted1ms316 KiB
59Accepted2ms316 KiB
60Accepted2ms316 KiB
61Accepted1ms380 KiB
62Accepted2ms392 KiB
63Accepted2ms416 KiB
64Accepted1ms316 KiB
65Accepted1ms508 KiB
66Accepted2ms316 KiB
67Accepted1ms316 KiB
68Accepted1ms316 KiB
69Accepted1ms500 KiB
70Accepted1ms580 KiB
71Accepted1ms316 KiB
72Accepted1ms316 KiB
73Accepted2ms316 KiB
74Accepted1ms316 KiB
75Accepted1ms316 KiB
76Accepted172ms820 KiB
77Accepted32ms1468 KiB
78Accepted345ms3168 KiB
79Accepted32ms1524 KiB
80Accepted222ms2612 KiB
81Accepted138ms820 KiB
82Accepted136ms1076 KiB
83Accepted68ms1556 KiB
84Accepted120ms2148 KiB
85Accepted208ms2968 KiB
86Accepted256ms1328 KiB
87Accepted221ms2616 KiB
88Accepted70ms1456 KiB
89Accepted75ms1652 KiB
90Accepted493ms2984 KiB
91Accepted237ms4140 KiB
92Accepted479ms2740 KiB
93Accepted226ms3392 KiB
94Accepted500ms2872 KiB
95Accepted228ms3140 KiB
96Accepted241ms3892 KiB
97Accepted187ms4076 KiB
98Accepted287ms3124 KiB
99Accepted321ms3436 KiB
100Time limit exceeded1.082s3124 KiB
101Time limit exceeded1.09s3124 KiB
102Time limit exceeded1.085s3380 KiB
103Time limit exceeded1.093s3368 KiB
104Time limit exceeded1.092s3172 KiB