285302026-05-21 17:36:22sarminDinókcpp17Elfogadva 100/100119ms14272 KiB
#include <bits/stdc++.h>
using ll = long long;
using namespace std;

vector<vector<int>> g;
vector<bool> vis;
vector<int> ans;

void dfs(int cur) {
    vis[cur] = true;
    for (int i : g[cur]) {
        if (!vis[i]) {
            dfs(i);
        }
    }
    ans.push_back(cur);
}

int main() {

    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int n, m; cin >> n >> m;
    vector<array<int, 3>> v(m);
    for (int i = 0; i < m; i++) {
        cin >> v[i][0] >> v[i][1] >> v[i][2];
    }

    g.resize(2*n);
    for (int i = 0; i < 2*n; i+=2) {
        g[i].push_back(i+1); // i mod 2 == 0 elemek a keletkezések
    }

    for (auto& [x, a, b] : v) {
        if (x == 2) {
            g[(a-1)*2+1].push_back((b-1)*2); // a vege -> b eleje
        } else {
            // egyszerre eltek
            g[(a-1)*2].push_back((b-1)*2+1);
            g[(b-1)*2].push_back((a-1)*2+1);
        }
    }

    vis.resize(2*n, false);
    for (int i = 0; i < 2*n; i++) {
        if (!vis[i]) dfs(i);
    }
    reverse(ans.begin(), ans.end());

    // validacio
    vector<int> time(2*n);
    for (int i = 0; i < ans.size(); i++) {
        time[ans[i]] = i+1;
    }

    for (int i = 0; i < 2*n; i++) {
        for (int j : g[i]) {
            if (time[i] >= time[j]) {
                cout << "NEM\n"; return 0;
            }
        }
    }

    cout << "IGEN\n";
    for (int i = 0; i < 2*n; i+=2) {
        cout << time[i] << " " << time[i+1] << "\n";
    }
	
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms508 KiB
3Elfogadva4ms820 KiB
subtask25/5
4Elfogadva103ms13000 KiB
5Elfogadva63ms11944 KiB
6Elfogadva56ms11496 KiB
subtask315/15
7Elfogadva3ms316 KiB
8Elfogadva3ms500 KiB
9Elfogadva3ms316 KiB
10Elfogadva3ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
subtask410/10
13Elfogadva1ms508 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms508 KiB
17Elfogadva1ms316 KiB
subtask535/35
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva104ms14272 KiB
21Elfogadva103ms14272 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva63ms12988 KiB
subtask635/35
25Elfogadva115ms13224 KiB
26Elfogadva98ms13248 KiB
27Elfogadva98ms13228 KiB
28Elfogadva115ms13232 KiB
29Elfogadva98ms12208 KiB
30Elfogadva119ms13320 KiB
31Elfogadva97ms13244 KiB
32Elfogadva81ms12220 KiB
33Elfogadva71ms12968 KiB
34Elfogadva103ms13244 KiB
35Elfogadva68ms11688 KiB