Submission #781589

# Submission time Handle Problem Language Result Execution time Memory
781589 2023-07-13T08:21:26 Z devariaota Naboj (COCI22_naboj) C++17
0 / 110
80 ms 14076 KB
#include <bits/stdc++.h>

using namespace std;

const int N=2e5+5;

int n, m;
vector <int> ls[N], topo;
int in[N], bio[N];
queue <int> Q;

void dfs(int node) {
    if (bio[node] == 1) {
        printf("-1\n");
        exit(0);
    }
    if (bio[node] == 2) return;
    bio[node] = 1;
    for (int x:ls[node]) dfs(x);
    bio[node] = 2;
}

void solve() {
    for (int i=1; i<=n; ++i) {
        if (!bio[i]) dfs(i);
        if (in[i] == 0) {
            Q.push(i);
        }
    }
    while (!Q.empty()) {
        int node = Q.front();
        Q.pop();
        topo.push_back(node);
        for (int sus:ls[node]) {
            in[sus]--;
            if (in[sus] == 0) Q.push(sus);
        }
    }
    printf("%d\n", (int)topo.size());
    for (int x:topo) printf("%d 1\n", x);
}

void load() {
    scanf("%d %d", &n, &m);
    for (int i=0; i<m; ++i) {
        int a, b;
        scanf("%d %d", &a, &b);
        ls[a].push_back(b);
        in[b]++;
    }
}

int main() {
    load();
    solve();
    return 0;
}

Compilation message

naboj.cpp: In function 'void load()':
naboj.cpp:44:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |     scanf("%d %d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~~
naboj.cpp:47:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   47 |         scanf("%d %d", &a, &b);
      |         ~~~~~^~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Correct 3 ms 4948 KB Output is correct
3 Correct 2 ms 4948 KB Output is correct
4 Correct 3 ms 4948 KB Output is correct
5 Correct 3 ms 4948 KB Output is correct
6 Correct 2 ms 4948 KB Output is correct
7 Correct 2 ms 4948 KB Output is correct
8 Incorrect 2 ms 4948 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 80 ms 14076 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Correct 3 ms 4948 KB Output is correct
3 Correct 2 ms 4948 KB Output is correct
4 Correct 3 ms 4948 KB Output is correct
5 Correct 3 ms 4948 KB Output is correct
6 Correct 2 ms 4948 KB Output is correct
7 Correct 2 ms 4948 KB Output is correct
8 Incorrect 2 ms 4948 KB Output isn't correct
9 Halted 0 ms 0 KB -