QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#371464#905. 三元环枚举IsrothyCompile Error//C++231.2kb2024-03-30 12:49:342024-03-30 12:49:35

Judging History

This is the latest submission verdict.

  • [2024-03-30 12:49:35]
  • Judged
  • [2024-03-30 12:49:34]
  • Submitted

answer

#include <cstdio>
#include <span>
auto three_membered_rings(std::span<std::vector<int>> adj) {
    auto n = adj.size() - 1;
    std::vector<size_t> rank(n + 1);
    std::vector<int> vis_time(n + 1);
    std::vector<std::vector<int>> f(n + 1);
    for (int u = 1; u <= n; ++u) {
        rank[u] = (int64_t) adj[u].size() * (n + 1) + u;
    }
    for (int u = 1; u <= n; ++u) {
        for (auto v: adj[u]) {
            if (rank[u] < rank[v]) {
                f[u].push_back(v);
            }
        }
    }
    int res = 0;
    for (int u = 1; u <= n; ++u) {
        for (auto v: f[u]) {
            vis_time[v] = u;
        }
        for (auto v: f[u]) {
            for (auto w: f[v]) {
                if (vis_time[w] == u) {
                    ++res;
                }
            }
        }
    }
    return res;
}
int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    std::vector<std::vector<int>> adj(n + 1);
    for (int i = 0; i < m; ++i) {
        int u, v;
        scanf("%d%d", &u, &v);
        --u;
        --v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    printf("%d\n", three_membered_rings(adj));

    return 0;
}

详细

answer.code:3:42: error: ‘vector’ is not a member of ‘std’
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                          ^~~~~~
answer.code:3:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
    2 | #include <span>
  +++ |+#include <vector>
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
answer.code:3:52: error: template argument 1 is invalid
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                                    ^~
answer.code:3:42: error: ‘vector’ is not a member of ‘std’
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                          ^~~~~~
answer.code:3:42: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:3:52: error: template argument 1 is invalid
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                                    ^~
answer.code:3:42: error: ‘vector’ is not a member of ‘std’
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                          ^~~~~~
answer.code:3:42: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:3:52: error: template argument 1 is invalid
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                                    ^~
answer.code:3:42: error: ‘vector’ is not a member of ‘std’
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                          ^~~~~~
answer.code:3:42: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:3:52: error: template argument 1 is invalid
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                                    ^~
answer.code:3:27: error: invalid template-id
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                           ^~~
answer.code:3:42: error: ‘vector’ is not a member of ‘std’
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                          ^~~~~~
answer.code:3:42: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:3:55: error: missing template arguments before ‘adj’
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                                       ^~~
answer.code:3:60: error: expected ‘,’ or ‘;’ before ‘{’ token
    3 | auto three_membered_rings(std::span<std::vector<int>> adj) {
      |                                                            ^
answer.code: In function ‘int main()’:
answer.code:36:10: error: ‘vector’ is not a member of ‘std’
   36 |     std::vector<std::vector<int>> adj(n + 1);
      |          ^~~~~~
answer.code:36:10: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:36:22: error: ‘vector’ is not a member of ‘std’
   36 |     std::vector<std::vector<int>> adj(n + 1);
      |                      ^~~~~~
answer.code:36:22: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
answer.code:36:29: error: expected primary-expression before ‘int’
   36 |     std::vector<std::vector<int>> adj(n + 1);
      |                             ^~~
answer.code:42:9: error: ‘adj’ was not declared in this scope
   42 |         adj[u].push_back(v);
      |         ^~~
answer.code:45:41: error: ‘adj’ was not declared in this scope
   45 |     printf("%d\n", three_membered_rings(adj));
      |                                         ^~~
answer.code:35:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   35 |     scanf("%d%d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~
answer.code:39:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   39 |         scanf("%d%d", &u, &v);
      |         ~~~~~^~~~~~~~~~~~~~~~