Submission #1056754

#TimeUsernameProblemLanguageResultExecution timeMemory
1056754perekopskadLongest Trip (IOI23_longesttrip)C++17
5 / 100
2 ms344 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define el '\n' #define ff first #define ss second #define pii pair <ll, ll> #define pb push_back #define mkp make_pair #define fr(i, l, r) for(ll i = l; i <= r; i++) #define debug(x) \ { cout << #x << " = " << x << el; } template<class T, class S> inline bool chmax(T &a, const S &b) { return (a < b ? a = b, 1 : 0); } template<class T, class S> inline bool chmin(T &a, const S &b) { return (a > b ? a = b, 1 : 0); } const ll N = 310; const ll M = 1e5 + 10; const ll K = 400; const ll INF = 1e18 + 10; const ll inf = 1e9 + 10; const ll LOG = 20; const ll mod = 1000002022; mt19937 rnd(time(0)); bool used[N]; vector <int> g[N], ans; bool are_connected(std::vector<int> A, std::vector<int> B); void dfs(int v) { ans.pb(v); used[v] = 1; for(int u : g[v]) { if(!used[u]) dfs(u); } } std::vector<int> longest_trip(int N, int D) { if(D == 3) { vector <int> v; fr(i, 0, N - 1) v.pb(i); return v; } for(int i = 0; i < N; i++) { for(int j = i + 1; j < N; j++) { if(are_connected({i}, {j})) { g[i].pb(j); g[j].pb(i); } } } int mx = 0; for(int i = 0; i < N; i++) { if(g[i].size() > g[mx].size()) mx = i; } dfs(mx); return ans; }
#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...