Submission #302239

# Submission time Handle Problem Language Result Execution time Memory
302239 2020-09-18T14:39:15 Z jhnah917 Connecting Supertrees (IOI20_supertrees) C++14
0 / 100
1 ms 256 KB
#include "supertrees.h"
#include <vector>
#include <bits/stdc++.h>

// from ryute
 
int pa[1010];
int fi(int x) {
    return pa[x] = x == pa[x] ? x : fi(pa[x]);
}
void un(int a, int b) {
    a = fi(a); b = fi(b);
    if (a == b) return;
    pa[a] = b;
}
 
int construct(std::vector<std::vector<int>> p) {
    int n = p.size();
    std::vector<std::vector<int>> ans;
    for (int i = 0; i < n; i++) {
        std::vector<int> row;
        row.resize(n);
        ans.push_back(row);
    }
    for (int i = 0; i < n; i++) pa[i] = i;
 
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            if (p[i][j]) un(i, j);
 
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (p[i][j] != (fi(i) == fi(j))) return 0;
        }
    }
 
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (p[i][j]) {
                ans[i][j] = 1;
                ans[j][i] = 1;
            }
        }
    }
 
    build(ans);
    return 1;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Incorrect 1 ms 256 KB Too many ways to get from 0 to 2, should be 1 found no less than 2
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Incorrect 1 ms 256 KB Too many ways to get from 0 to 2, should be 1 found no less than 2
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 0 ms 256 KB Output is correct
4 Correct 1 ms 256 KB Output is correct
5 Incorrect 1 ms 256 KB Answer gives possible 0 while actual possible 1
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Incorrect 1 ms 256 KB Answer gives possible 0 while actual possible 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Incorrect 1 ms 256 KB Too many ways to get from 0 to 2, should be 1 found no less than 2
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Incorrect 1 ms 256 KB Too many ways to get from 0 to 2, should be 1 found no less than 2
4 Halted 0 ms 0 KB -