제출 #1254085

#제출 시각아이디문제언어결과실행 시간메모리
1254085nickolasarapidis세계 지도 (IOI25_worldmap)C++20
컴파일 에러
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; }

컴파일 시 표준 에러 (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))
      | ^~~~~