Untitled
unknown
plain_text
a year ago
1.3 kB
5
Indexable
/*#include<iostream> using namespace std; int n, m, h; int island[1000], matrix[1000][1000]; int queue[100000]; int front, rear; void bfs() { while (front < rear) { int x = queue[front]; front++; if (front == rear) { front = rear = 0; } for (int i = 0; i < n; i++) { if (matrix[x][i] == 1) { if (island[i] == 10000) { island[i] = island[x] + 1; queue[rear] = i; rear++; } } } } } int main(int argc, char** argv) { int test_case; int T; int Answer; freopen("input.txt", "r", stdin); cin >> T; for(test_case = 1; test_case <= T; ++test_case) { Answer = 0; cin >> n >> m >> h; for (int i = 0; i < n; i++) { island[i] = 10000; for (int j = 0; j < n; j++) { matrix[i][j] = 0; } } front = rear = 0; for (int i = 0; i < m; i++) { int a; cin >> a; island[a] = 0; queue[rear] = a; rear++; } for (int i = 0; i < h; i++) { int a, b; cin >> a >> b; matrix[a][b] = 1; matrix[b][a] = 1; } bfs(); int max = 0; for (int i = 0; i < n; i++) { if (island[i] > max) { max = island[i]; Answer = i; } } // Print the answer to standard output(screen). cout << Answer << endl; } return 0;//Your program should return 0 on normal termination. }*/
Editor is loading...
Leave a Comment