Untitled
unknown
plain_text
15 days ago
1.1 kB
3
Indexable
Never
#include <iostream> using namespace std; int Map[1001][1001]; int Elec[1001]; int Queue[100000]; int N,H,M; int t,r; int Max,ID; void Init() { for (int i = 0; i < N; i++) { Elec[i]=99999; } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { Map[i][j]=0; } } } void Push(int i){ Queue[t]=i; t++; } void BFS() { while(t!=r) { int i = Queue[r]; for (int j = 0; j < N; j++) { if(Map[i][j]==1 && Elec[j]>Elec[i]+1) { Elec[j]= Elec[i]+1; Push(j); } } r++; } } int main() { //freopen("Text.txt","r",stdin); int T; cin >> T; for (int i = 0; i < T; i++) { cin >> N >> M >> H; int x,y; Init(); t=r=0; for (int i = 0; i < M; i++) { cin >> x; Push(x); Elec[x] = 0; } for (int i = 0; i < H; i++) { cin >> x >> y; Map[x][y]=Map[y][x]=1; } BFS(); Max=0; for(int i=0;i<N;i++) { if(Max<Elec[i]) { Max=Elec[i]; ID=i; } } cout << ID << endl; } return 0; }
Leave a Comment