251182026-02-18 01:01:25999Bizonyításcpp17Időlimit túllépés 25/501.088s4404 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);
            for(int i = 0;i<n;i++){
                b[i][y]|=(b[x][i]==1&&b[i][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
1Elfogadva1ms316 KiB
2Elfogadva273ms4404 KiB
subtask210/10
3Elfogadva3ms800 KiB
4Elfogadva10ms1076 KiB
5Elfogadva79ms2688 KiB
6Elfogadva52ms2164 KiB
7Elfogadva50ms2100 KiB
8Elfogadva2ms1332 KiB
9Elfogadva2ms564 KiB
10Elfogadva12ms1172 KiB
11Elfogadva37ms1960 KiB
12Elfogadva57ms2572 KiB
subtask315/15
13Elfogadva1ms316 KiB
14Elfogadva2ms572 KiB
15Elfogadva1ms512 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms564 KiB
19Elfogadva1ms568 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms564 KiB
23Elfogadva2ms804 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms572 KiB
26Elfogadva1ms564 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms564 KiB
29Elfogadva2ms316 KiB
30Elfogadva1ms564 KiB
31Elfogadva1ms332 KiB
32Elfogadva1ms508 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms564 KiB
37Elfogadva3ms500 KiB
38Elfogadva3ms764 KiB
subtask40/25
39Elfogadva1ms316 KiB
40Elfogadva277ms4256 KiB
41Elfogadva3ms800 KiB
42Elfogadva10ms1076 KiB
43Elfogadva79ms2688 KiB
44Elfogadva52ms2164 KiB
45Elfogadva50ms2100 KiB
46Elfogadva2ms1332 KiB
47Elfogadva2ms564 KiB
48Elfogadva12ms1172 KiB
49Elfogadva37ms1960 KiB
50Elfogadva57ms2572 KiB
51Elfogadva2ms572 KiB
52Elfogadva1ms512 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms564 KiB
56Elfogadva1ms568 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms316 KiB
59Elfogadva1ms564 KiB
60Elfogadva2ms804 KiB
61Elfogadva1ms316 KiB
62Elfogadva1ms572 KiB
63Elfogadva1ms564 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms564 KiB
66Elfogadva2ms316 KiB
67Elfogadva1ms564 KiB
68Elfogadva1ms332 KiB
69Elfogadva1ms508 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms316 KiB
73Elfogadva1ms564 KiB
74Elfogadva3ms500 KiB
75Elfogadva3ms764 KiB
76Elfogadva26ms996 KiB
77Elfogadva25ms1872 KiB
78Elfogadva170ms3396 KiB
79Elfogadva25ms1848 KiB
80Elfogadva115ms2868 KiB
81Elfogadva26ms1332 KiB
82Elfogadva32ms1592 KiB
83Elfogadva45ms2104 KiB
84Elfogadva72ms2612 KiB
85Elfogadva150ms3176 KiB
86Elfogadva46ms1760 KiB
87Elfogadva123ms3124 KiB
88Elfogadva41ms2012 KiB
89Elfogadva50ms2056 KiB
90Elfogadva72ms3044 KiB
91Elfogadva337ms4064 KiB
92Elfogadva71ms3076 KiB
93Elfogadva282ms3376 KiB
94Elfogadva72ms3124 KiB
95Elfogadva119ms3136 KiB
96Elfogadva268ms3840 KiB
97Elfogadva337ms4036 KiB
98Elfogadva89ms3124 KiB
99Elfogadva192ms3572 KiB
100Időlimit túllépés1.083s2832 KiB
101Időlimit túllépés1.088s3004 KiB
102Időlimit túllépés1.083s2904 KiB
103Időlimit túllépés1.083s3124 KiB
104Időlimit túllépés1.088s2896 KiB