# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
939413 | 2024-03-06T10:44:58 Z | WanWan | 가장 긴 여행 (IOI23_longesttrip) | C++17 | 1000 ms | 480 KB |
#include "longesttrip.h" #include <bits/stdc++.h> using namespace std; #ifdef LOCAL void debug_out() {cerr<<endl;} template <typename Head, typename... Tail> void debug_out(Head _H, Tail... _T) {cerr<<" "<<to_string(_H);debug_out(_T...);} #define debug(...) cerr<<"["<<#__VA_ARGS__<<"]:",debug_out(__VA_ARGS__) #else #define debug(...) #endif const int MAXN = 260; const int inf=1000000500ll; const long long oo =1000000000000000500ll; const int MOD = (int)1e9+7; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); typedef pair<int,int> pi; vector<int>out; int n,d; bool mat[MAXN][MAXN]; bool vis[MAXN]; void dfs(int x){ vis[x]=1; out.push_back(x); vector<int> ord; for(int i=1;i<=n;i++){ if(mat[x][i] && !vis[i]){ dfs(i); return; } } } vector<int>solve(int st){ memset(vis,0,sizeof vis); out.clear(); dfs(st); return out; } std::vector<int> longest_trip(int N, int D) { for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ mat[i][j]=0; } } n=N; d=D; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ vector<int>A;A.push_back(i); vector<int>B;B.push_back(j); mat[i][j]=mat[j][i]=are_connected(A,B); } } if(n<=12){ vector<int> vec; vector<int> ans; for(int i=0;i<n;i++)vec.push_back(i); do { int cur=vec[0]; vector<int>hh; hh.push_back(cur); for(int i=1;i<vec.size();i++){ if(mat[cur][vec[i]]){ hh.push_back(vec[i]); cur=vec[i]; } } if(hh.size()>ans.size())ans=hh; } while(next_permutation(vec.begin(),vec.end())); return ans; } vector<int> ans; for(int i=0;i<n;i++){//starting point vector<int>res=solve(i); if(res.size()>ans.size())ans=res; } return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 229 ms | 480 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 344 KB | Output is correct |
2 | Execution timed out | 3037 ms | 344 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 344 KB | Output is correct |
2 | Execution timed out | 3068 ms | 344 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 344 KB | Output is correct |
2 | Execution timed out | 3030 ms | 344 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 344 KB | Output is correct |
2 | Execution timed out | 3078 ms | 344 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |