Submission #939413

#TimeUsernameProblemLanguageResultExecution timeMemory
939413WanWanLongest Trip (IOI23_longesttrip)C++17
0 / 100
3078 ms480 KiB
#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 (stderr)

longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:66:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |             for(int i=1;i<vec.size();i++){
      |                         ~^~~~~~~~~~~
#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...