Untitled

 avatar
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