답안 #995801

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
995801 2024-06-09T23:32:43 Z aaaaaarroz 가장 긴 여행 (IOI23_longesttrip) C++17
0 / 100
6 ms 344 KB
#include <bits/stdc++.h>
using namespace std;
bool are_connected(vector<int> A, vector<int> B);
vector<int> longest_trip(int N, int D){
	vector<vector<int>>graph(N);
	for(int i=0;i<N;i++){
		for(int j=i+1;j<N;j++){
			if(are_connected({i},{j})){
				graph[i].push_back(j);
				graph[j].push_back(i);
			}
		}
	}
	int max_dist=0;
	vector<int>ans;
	for(int i=0;i<N;i++){
		vector<int>dist(N,-1);
		vector<int>parent(N,-1);
		dist[i]=0;
		queue<int>cola;
		cola.push(i);
		while(!cola.empty()){
			int nodo=cola.front();
			cola.pop();
			for(int vecino:graph[nodo]){
				if(dist[vecino]==-1){
					parent[vecino]=nodo;
					dist[vecino]=(dist[nodo]+1);
					cola.push(vecino);
				}
			}
		}
		if(*max_element(dist.begin(),dist.end())>max_dist){
			max_dist=*max_element(dist.begin(),dist.end());
			vector<int>path;
			int best_node;
			for(int j=0;j<N;j++){
				if(dist[j]==max_dist){
					best_node=j;
				}
			}
			while(parent[best_node]!=-1){
				path.push_back(best_node);
				best_node=parent[best_node];
			}
			path.push_back(best_node);
			ans=path;
		}
	}
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -