# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1007061 | Younis_Dwai | Longest Trip (IOI23_longesttrip) | C++17 | 2 ms | 388 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "longesttrip.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
vector<int> adj[505];
vector<int> v;
int mx=0,dis[505],n;
void perform(int node){
for(int i=0;i<=n;i++) dis[i]=1e9;
dis[node]=0;
queue<int> q;
q.push(node);
while(!q.empty()){
int node=q.front();
q.pop();
for(auto u : adj[node]){
if(dis[u]>1+dis[node]){
dis[u]=1+dis[node];
q.push(node);
}
}
}
int bb=0,nd;
for(int i=0;i<=n;i++){
if(dis[i]+1>=mx){
mx=dis[i];
nd=i;
}
}
while(nd!=node){
for(auto u : adj[nd]){
if(dis[u]==dis[nd]-1){
nd=u;
}
}
}
v.clear();
v.pb(node);
return ;
}
std::vector<int> longest_trip(int N, int D){
n=N-1;
v.clear();
if(D==1){
for(int i=0;i<N;i++) v.push_back(i);
return v;
}
for(int i=0;i<N;i++) adj[i].clear();
mx=0;
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(i==j) continue ;
bool c=are_connected({i},{j});
if(c==1){
adj[i].pb(j);
adj[j].pb(i);
}
}
}
for(int i=0;i<N;i++){
perform(i);
}
return v;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |