Submission #1254085

#TimeUsernameProblemLanguageResultExecution timeMemory
1254085nickolasarapidisWorld Map (IOI25_worldmap)C++20
Compilation error
0 ms0 KiB
#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> adj[45];

vector<int> et;
vector<bool> visited(45, false);

void dfs(int s, int e){
    et.push_back(s);
    if(visited[s]) return;
    visited[s] = true;
    for(auto u : adj[s]){
        if(u == e) continue;
        dfs(u, s);
        et.push_back(s);
    }
}

vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B){
    for(int i = 0; i < M; i++){
        adj[A[i]].push_back(B[i]);
        adj[B[i]].push_back(A[i]);
    }
    dfs(1, -1);
    vector<vector<int>> ans(et.size(), vector<int>(et.size()));
    for(int i = 0; i < et.size(); i++){
        for(int j = 0; j < et.size(); j++){
            ans[i][j] = et[i];
        }
    }
    adj.clear();
    et.clear();
    memset(visited, false, sizeof(visited));
    return ans;
}

Compilation message (stderr)

worldmap.cpp: In function 'std::vector<std::vector<int> > create_map(int, int, std::vector<int>, std::vector<int>)':
worldmap.cpp:33:9: error: request for member 'clear' in 'adj', which is of non-class type 'std::vector<int> [45]'
   33 |     adj.clear();
      |         ^~~~~
worldmap.cpp:35:12: error: cannot convert 'std::vector<bool>' to 'void*'
   35 |     memset(visited, false, sizeof(visited));
      |            ^~~~~~~
      |            |
      |            std::vector<bool>
In file included from /usr/include/features.h:486,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/c++config.h:586,
                 from /usr/include/c++/11/bits/stl_algobase.h:59,
                 from /usr/include/c++/11/vector:60,
                 from worldmap.h:1,
                 from worldmap.cpp:1:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:57:1: note:   initializing argument 1 of 'void* memset(void*, int, size_t)'
   57 | __NTH (memset (void *__dest, int __ch, size_t __len))
      | ^~~~~