5271 2023. 04. 25 06:28:37 anon Dinók cpp17 Elfogadva 100/100 402ms 43444 KiB
#include <vector>
#include <queue>
#include <iostream>

using ll = long long;
using namespace std;

int main()
{
    ll i, j, c, e, t, a, b, N, M;

    cin >> N >> M;

    vector<vector<ll>> ss(M);

    for(i = 0; i < M; i++)
    {
        cin >> t >> a >> b;
        ss[i] = vector<ll> { t, a, b };
    }

    vector<vector<ll>> g(2 * N + 1);
    vector<ll> ine(2 * N + 1, 0);

    for(i = 1; i <= N; i++)
    {
        g[i].push_back(i + N);
        ine[i + N]++;
    }

    for(i = 0; i < M; i++)
    {
        switch(ss[i][0])
        {
            case 1:
                g[ss[i][1]].push_back(ss[i][2] + N);
                ine[ss[i][2] + N]++;

                g[ss[i][2]].push_back(ss[i][1] + N);
                ine[ss[i][1] + N]++;
            break;
            case 2:
                g[ss[i][1] + N].push_back(ss[i][2]);
                ine[ss[i][2]]++;
            break;
            default:
            break;
        }
    }

    c = 1;
    vector<ll> ans(2 * N + 1, 0);

    queue<ll> q;

    for(i = 1; i <= N; i++)
    {
        if(!ine[i])
            q.push(i);
    }

    while(q.size())
    {
        e = q.front();
        q.pop();

        ans[e] = c++;

        for(auto x : g[e])
        {
            if(!--ine[x])
                q.push(x);
        }
    }

    for(i = 1; i <= 2 * N; i++)
    {
        if(!ans[i])
        {
            cout << "NEM" << endl;
            return 0;
        }
    }

    cout << "IGEN" << endl;

    for(i = 1; i <= N; i++)
        cout << ans[i] << ' ' << ans[i + N] << endl;

    return 0;
}

Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1812 KiB
2 Elfogadva 3ms 2056 KiB
3 Elfogadva 8ms 4260 KiB
subtask2 5/5
4 Elfogadva 344ms 41336 KiB
5 Elfogadva 200ms 33700 KiB
6 Elfogadva 193ms 30156 KiB
subtask3 15/15
7 Elfogadva 3ms 2908 KiB
8 Elfogadva 3ms 3128 KiB
9 Elfogadva 3ms 3512 KiB
10 Elfogadva 2ms 3412 KiB
11 Elfogadva 2ms 3416 KiB
12 Elfogadva 3ms 3660 KiB
subtask4 10/10
13 Elfogadva 3ms 3872 KiB
14 Elfogadva 3ms 4080 KiB
15 Elfogadva 2ms 4048 KiB
16 Elfogadva 3ms 4184 KiB
17 Elfogadva 3ms 4260 KiB
subtask5 35/35
18 Elfogadva 3ms 4276 KiB
19 Elfogadva 4ms 4536 KiB
20 Elfogadva 300ms 42008 KiB
21 Elfogadva 245ms 42140 KiB
22 Elfogadva 3ms 4352 KiB
23 Elfogadva 4ms 4776 KiB
24 Elfogadva 136ms 42504 KiB
subtask6 35/35
25 Elfogadva 272ms 42520 KiB
26 Elfogadva 273ms 42268 KiB
27 Elfogadva 308ms 42272 KiB
28 Elfogadva 287ms 42268 KiB
29 Elfogadva 141ms 41668 KiB
30 Elfogadva 264ms 42188 KiB
31 Elfogadva 402ms 42400 KiB
32 Elfogadva 150ms 41824 KiB
33 Elfogadva 136ms 41884 KiB
34 Elfogadva 257ms 42532 KiB
35 Elfogadva 137ms 43444 KiB