251172026-02-18 00:59:07999Bizonyításcpp17Time limit exceeded 25/501.087s4408 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;
int b[501][501];
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);
    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;*/
        }
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted101ms4408 KiB
subtask210/10
3Accepted2ms564 KiB
4Accepted4ms1268 KiB
5Accepted18ms2612 KiB
6Accepted14ms2356 KiB
7Accepted17ms2100 KiB
8Accepted2ms1332 KiB
9Accepted1ms564 KiB
10Accepted6ms1076 KiB
11Accepted14ms2012 KiB
12Accepted14ms2512 KiB
subtask315/15
13Accepted1ms316 KiB
14Accepted1ms592 KiB
15Accepted1ms316 KiB
16Accepted1ms508 KiB
17Accepted1ms316 KiB
18Accepted1ms564 KiB
19Accepted1ms564 KiB
20Accepted1ms508 KiB
21Accepted1ms316 KiB
22Accepted1ms564 KiB
23Accepted1ms564 KiB
24Accepted1ms508 KiB
25Accepted2ms564 KiB
26Accepted2ms564 KiB
27Accepted2ms508 KiB
28Accepted2ms564 KiB
29Accepted1ms316 KiB
30Accepted1ms316 KiB
31Accepted1ms316 KiB
32Accepted1ms316 KiB
33Accepted1ms316 KiB
34Accepted1ms316 KiB
35Accepted1ms500 KiB
36Accepted1ms564 KiB
37Accepted1ms316 KiB
38Accepted1ms316 KiB
subtask40/25
39Accepted1ms316 KiB
40Accepted101ms4264 KiB
41Accepted2ms564 KiB
42Accepted4ms1268 KiB
43Accepted18ms2612 KiB
44Accepted14ms2356 KiB
45Accepted17ms2100 KiB
46Accepted2ms1332 KiB
47Accepted1ms564 KiB
48Accepted6ms1076 KiB
49Accepted14ms2012 KiB
50Accepted14ms2512 KiB
51Accepted1ms592 KiB
52Accepted1ms316 KiB
53Accepted1ms508 KiB
54Accepted1ms316 KiB
55Accepted1ms564 KiB
56Accepted1ms564 KiB
57Accepted1ms508 KiB
58Accepted1ms316 KiB
59Accepted1ms564 KiB
60Accepted1ms564 KiB
61Accepted1ms508 KiB
62Accepted2ms564 KiB
63Accepted2ms564 KiB
64Accepted2ms508 KiB
65Accepted2ms564 KiB
66Accepted1ms316 KiB
67Accepted1ms316 KiB
68Accepted1ms316 KiB
69Accepted1ms316 KiB
70Accepted1ms316 KiB
71Accepted1ms316 KiB
72Accepted1ms500 KiB
73Accepted1ms564 KiB
74Accepted1ms316 KiB
75Accepted1ms316 KiB
76Accepted27ms1076 KiB
77Accepted17ms1844 KiB
78Accepted82ms3380 KiB
79Accepted17ms2028 KiB
80Accepted59ms2856 KiB
81Accepted24ms1332 KiB
82Accepted27ms1640 KiB
83Accepted24ms2100 KiB
84Accepted37ms2508 KiB
85Accepted63ms3184 KiB
86Accepted43ms1844 KiB
87Accepted61ms3128 KiB
88Accepted25ms2100 KiB
89Accepted28ms2100 KiB
90Accepted75ms3124 KiB
91Accepted97ms3952 KiB
92Accepted75ms3124 KiB
93Accepted90ms3344 KiB
94Accepted75ms3124 KiB
95Accepted43ms3216 KiB
96Accepted52ms3764 KiB
97Accepted50ms4032 KiB
98Accepted48ms3052 KiB
99Accepted61ms3380 KiB
100Time limit exceeded1.082s3156 KiB
101Time limit exceeded1.085s3120 KiB
102Time limit exceeded1.082s3376 KiB
103Time limit exceeded1.085s3380 KiB
104Time limit exceeded1.087s3124 KiB