Untitled
unknown
plain_text
a year ago
1.3 kB
9
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