Submission #1286817

#TimeUsernameProblemLanguageResultExecution timeMemory
1286817eri16이주 (IOI25_migrations)C++20
10 / 100
31 ms1024 KiB
#include <bits/stdc++.h> using namespace std; vector <int> v[20001]; int T,J; pair<int,int> bfs(int node, int mx){ int n=mx; vector<int> dist(n, -1); queue<int> q; dist[node]=0; q.push(node); int f=node; while (!q.empty()) { int t=q.front(); q.pop(); for (int i=0; i<v[t].size(); i++) { int to=v[t][i]; if (dist[to]==-1) { dist[to]=dist[t]+1; q.push(to); if (dist[to]>dist[f]) f=to; }}} return {f,dist[f]}; } int send_message(int N, int i, int Pi){ if (i<N-2){ v[i].push_back(Pi); v[Pi].push_back(i); return 0; } else if(i==N-2){ v[i].push_back(Pi); v[Pi].push_back(i); pair <int,int> p; p=bfs(0,N-1); T=p.first; J=p.second; return (T); } else{ pair<int,int> p; int len=J; v[i].push_back(Pi); v[Pi].push_back(i); p=bfs(0,N); T=p.second; if (J>=T){ return 0; } else{ return 1; } } } std::pair<int,int> longest_path(std::vector<int> S){ if (S[S.size()-1]==0){ return {0,S[S.size()-2]}; } else if (S[S.size()-1]==1){ return {0,S.size()-1}; } else{ return {0,-1}; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...