166952025-05-09 11:23:31TaxiradioDinókcpp17Elfogadva 100/100165ms13108 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int u = 0;
vector<int> t;
vector<vector<int>> g;

void dfs(int h){
    t[h] = -2;
    for(int x : g[h]){
        if(t[x] == -2){
            cout << "NEM" << endl;
            exit(0);
        }
        if(t[x] == -1)dfs(x);
    }
    t[h] = u++;
}

int main() {
	int n , m; cin >> n >> m;
    t.resize(2*n , -1);
    g.resize(2*n);
    for(int i = 0; i < m; i++){
        int a , b , c; cin >> a >> b >> c;b--;c--;
        if(a == 1){
            g[c+n].push_back(b);
            g[b+n].push_back(c);
        }else{
            g[c].push_back(b+n);
        }
    }
    for(int i = 0; i < n; i++)g[i+n].push_back(i);
    for(int i = 0; i < n*2; i++)if(t[i] == -1)dfs(i);
    cout << "IGEN" << endl;
    for(int i = 0; i < n; i++)cout << t[i]+1 << " " << t[i+n]+1 << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva6ms832 KiB
subtask25/5
4Elfogadva145ms11872 KiB
5Elfogadva90ms10912 KiB
6Elfogadva64ms10440 KiB
subtask315/15
7Elfogadva1ms316 KiB
8Elfogadva1ms508 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
subtask410/10
13Elfogadva1ms316 KiB
14Elfogadva1ms508 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms508 KiB
subtask535/35
18Elfogadva1ms316 KiB
19Elfogadva1ms348 KiB
20Elfogadva159ms13108 KiB
21Elfogadva149ms13108 KiB
22Elfogadva1ms316 KiB
23Elfogadva2ms316 KiB
24Elfogadva115ms11952 KiB
subtask635/35
25Elfogadva162ms12348 KiB
26Elfogadva163ms12340 KiB
27Elfogadva151ms12340 KiB
28Elfogadva149ms12340 KiB
29Elfogadva119ms11572 KiB
30Elfogadva165ms12592 KiB
31Elfogadva148ms12344 KiB
32Elfogadva125ms11436 KiB
33Elfogadva112ms12192 KiB
34Elfogadva157ms12340 KiB
35Elfogadva112ms10532 KiB