# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
988607 | 2024-05-25T09:36:10 Z | Gray | 가장 긴 여행 (IOI23_longesttrip) | C++17 | 755 ms | 2348 KB |
#include "longesttrip.h" #include<bits/stdc++.h> #include <cassert> using namespace std; #define ll long long #define ff first #define ss second #define ln endl vector<vector<ll>> A; ll n, d; void dfs(ll u, vector<bool> &vis, vector<int> &trip){ trip.push_back(u); vis[u]=1; for (auto v:A[u]){ if (!vis[v]){ dfs(v, vis, trip); } } } std::vector<int> longest_trip(int N, int D) { n=N; d=D; A.clear(); A.resize(N); for (ll i=0; i<n; i++){ for (ll j=i+1; j<n; j++){ if (are_connected({(int)i}, {(int)j})){ A[i].push_back(j); A[j].push_back(i); } } } vector<ll> semi; for (ll i=0; i<n; i++){ if (A[i].size()<n-1){ semi.push_back(i); } } // assert(semi.size()>=0 and semi.size()<=2); vector<int> ans; if (semi.size()==2){ ans.push_back(semi[0]); for (ll i=0; i<n; i++){ if (i!=semi[0] and i!=semi[1]){ ans.push_back(i); } } ans.push_back(semi[1]); }else{ vector<bool> vis(n); for (ll i=0; i<n; i++){ if (vis[i]==0){ vector<int> trip; dfs(i, vis, trip); if (ans.size()<trip.size()){ ans=trip; } } } } return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 172 ms | 1956 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 344 KB | Output is correct |
2 | Correct | 22 ms | 344 KB | Output is correct |
3 | Correct | 122 ms | 1372 KB | Output is correct |
4 | Correct | 344 ms | 1260 KB | Output is correct |
5 | Correct | 755 ms | 2348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 344 KB | Output is correct |
2 | Correct | 23 ms | 344 KB | Output is correct |
3 | Correct | 127 ms | 948 KB | Output is correct |
4 | Correct | 354 ms | 1664 KB | Output is correct |
5 | Correct | 682 ms | 1820 KB | Output is correct |
6 | Correct | 8 ms | 344 KB | Output is correct |
7 | Incorrect | 5 ms | 344 KB | Incorrect |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 344 KB | Output is correct |
2 | Correct | 16 ms | 600 KB | Output is correct |
3 | Correct | 112 ms | 700 KB | Output is correct |
4 | Correct | 314 ms | 1376 KB | Output is correct |
5 | Correct | 712 ms | 1984 KB | Output is correct |
6 | Correct | 10 ms | 344 KB | Output is correct |
7 | Incorrect | 6 ms | 344 KB | Incorrect |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 344 KB | Output is correct |
2 | Correct | 24 ms | 344 KB | Output is correct |
3 | Partially correct | 112 ms | 856 KB | Output is partially correct |
4 | Partially correct | 346 ms | 1488 KB | Output is partially correct |
5 | Partially correct | 712 ms | 1808 KB | Output is partially correct |
6 | Correct | 9 ms | 344 KB | Output is correct |
7 | Incorrect | 5 ms | 344 KB | Incorrect |
8 | Halted | 0 ms | 0 KB | - |