제출 #843051

#제출 시각아이디문제언어결과실행 시간메모리
843051ngano_upat_na가장 긴 여행 (IOI23_longesttrip)C++17
5 / 100
8 ms344 KiB
#include "bits/stdc++.h" #include "longesttrip.h" using namespace std; vector<int> longest_trip(int N, int D) { vector<int> ans; if (D == 3) { for (int i=0; i<N; i++) ans.push_back(i); return ans; } vector<int> adj[N]; for (int i=0; i<N-1; i++) { for (int j=i+1; j<N; j++) { bool con = are_connected({i},{j}); if (con) { adj[i].push_back(j); adj[j].push_back(i); } } } int source = -1, end = -1, distance = -1; for (int i=0; i<N; i++) { vector<bool> vis(N,false); vector<int> d(N,-1); queue<int> q; q.push(i); d[i] = 0; while (!q.empty()) { int s = q.front(); q.pop(); vis[s] = true; for (auto &v:adj[s]) { if (!vis[v]) { q.push(v); d[v] = d[s] + 1; } } } int dis = 0; for (int j=0; j<N; j++) { if (d[j] > distance) { source = i; end = j; distance = d[j]; } } } // do bfs vector<bool> vis1(N,false); vector<int> path(N,-1); queue<int> q; q.push(source); while (!q.empty()) { int s = q.front(); q.pop(); vis1[s] = true; for (auto &v:adj[s]) { if (!vis1[v]) { q.push(v); path[s] = v; } } } for (int i=source; i!=-1; i=path[i]) ans.push_back(i); return ans; }

컴파일 시 표준 에러 (stderr) 메시지

longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:41:13: warning: unused variable 'dis' [-Wunused-variable]
   41 |         int dis = 0;
      |             ^~~
longesttrip.cpp:22:22: warning: variable 'end' set but not used [-Wunused-but-set-variable]
   22 |     int source = -1, end = -1, distance = -1;
      |                      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...