251192026-02-18 01:06:20999Bizonyításcpp17Időlimit túllépés 25/501.1s4588 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;
            for(int i = 0;i<n;i++){
                b[x][i]|=b[y][i]==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
2Elfogadva119ms4588 KiB
subtask210/10
3Elfogadva2ms756 KiB
4Elfogadva4ms1076 KiB
5Elfogadva25ms2612 KiB
6Elfogadva19ms2356 KiB
7Elfogadva20ms2176 KiB
8Elfogadva2ms1332 KiB
9Elfogadva1ms564 KiB
10Elfogadva7ms1076 KiB
11Elfogadva17ms1956 KiB
12Elfogadva18ms2356 KiB
subtask315/15
13Elfogadva1ms316 KiB
14Elfogadva1ms808 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms564 KiB
19Elfogadva1ms564 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms756 KiB
23Elfogadva1ms564 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms564 KiB
26Elfogadva1ms564 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms564 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms564 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms384 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms564 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms360 KiB
subtask40/25
39Elfogadva1ms316 KiB
40Elfogadva118ms4228 KiB
41Elfogadva2ms756 KiB
42Elfogadva4ms1076 KiB
43Elfogadva25ms2612 KiB
44Elfogadva19ms2356 KiB
45Elfogadva20ms2176 KiB
46Elfogadva2ms1332 KiB
47Elfogadva1ms564 KiB
48Elfogadva7ms1076 KiB
49Elfogadva17ms1956 KiB
50Elfogadva18ms2356 KiB
51Elfogadva1ms808 KiB
52Elfogadva1ms316 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms564 KiB
56Elfogadva1ms564 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms316 KiB
59Elfogadva1ms756 KiB
60Elfogadva1ms564 KiB
61Elfogadva1ms316 KiB
62Elfogadva1ms564 KiB
63Elfogadva1ms564 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms564 KiB
66Elfogadva1ms316 KiB
67Elfogadva1ms564 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms384 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms316 KiB
73Elfogadva1ms564 KiB
74Elfogadva1ms316 KiB
75Elfogadva1ms360 KiB
76Elfogadva25ms972 KiB
77Elfogadva12ms1904 KiB
78Elfogadva89ms3388 KiB
79Elfogadva10ms1848 KiB
80Elfogadva61ms2868 KiB
81Elfogadva23ms1512 KiB
82Elfogadva26ms1652 KiB
83Elfogadva21ms2112 KiB
84Elfogadva37ms2572 KiB
85Elfogadva68ms3268 KiB
86Elfogadva39ms1840 KiB
87Elfogadva63ms3124 KiB
88Elfogadva21ms1904 KiB
89Elfogadva25ms2164 KiB
90Elfogadva72ms3124 KiB
91Elfogadva86ms3952 KiB
92Elfogadva71ms3124 KiB
93Elfogadva72ms3376 KiB
94Elfogadva71ms3124 KiB
95Elfogadva50ms3124 KiB
96Elfogadva71ms3892 KiB
97Elfogadva75ms3864 KiB
98Elfogadva52ms3124 KiB
99Elfogadva71ms3444 KiB
100Időlimit túllépés1.1s3384 KiB
101Időlimit túllépés1.1s3384 KiB
102Időlimit túllépés1.078s3428 KiB
103Időlimit túllépés1.078s3380 KiB
104Időlimit túllépés1.087s3380 KiB