#include<bits/stdc++.h>
using namespace std;
int a[100][100], vs[100], n;
queue<int> q;
void BFS(int start) {
cout << start << "(0) ";
vs[start] = 1;
q.push(start);
while (!q.empty()) {
int u = q.front();
for (int i = 1; i <= n; i++) {
if (a[u][i] == 1 && vs[i] == 0) {
vs[i] = 1;
cout << i << "(" << u << ") ";
q.push(i);
}
}
q.pop();
}
}
int main() {
cout << "So dinh: ";
cin >> n;
// Khoi tao ma tran ke
cout << "Nhap ma tran:\n";
memset(vs, 0, 100);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cin >> a[i][j];
}
}
cout << "Thuc hien thuat toan BFS tu dinh: ";
int start;
cin >> start;
BFS(start);
}
/**
Test:
13
0 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 0 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 1 1 1 0 0 0 1 0
0 1 0 0 1 0 1 0 0 0 0 1 0
0 0 0 1 1 1 0 1 0 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 1 0
0 0 0 0 0 0 0 1 1 0 1 0 1
0 0 0 0 0 0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 1 1 0 0 1 1
0 0 0 0 1 1 0 1 0 1 0 0 0
0 0 0 0 0 0 0 1 1 1 0 0 0
**/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBhWzEwMF1bMTAwXSwgdnNbMTAwXSwgbjsKcXVldWU8aW50PiBxOwp2b2lkIEJGUyhpbnQgc3RhcnQpIHsKCWNvdXQgPDwgc3RhcnQgPDwgIigwKSAiOwoJdnNbc3RhcnRdID0gMTsKCXEucHVzaChzdGFydCk7Cgl3aGlsZSAoIXEuZW1wdHkoKSkgewoJCWludCB1ID0gcS5mcm9udCgpOwoJCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCQlpZiAoYVt1XVtpXSA9PSAxICYmIHZzW2ldID09IDApIHsKCQkJCXZzW2ldID0gMTsKCQkJCWNvdXQgPDwgaSA8PCAiKCIgPDwgdSA8PCAiKSAiOwoJCQkJcS5wdXNoKGkpOwoJCQl9CgkJfQoJCXEucG9wKCk7Cgl9Cn0KCmludCBtYWluKCkgewogICAgY291dCA8PCAiU28gZGluaDogIjsKICAgIGNpbiA+PiBuOwogICAgLy8gS2hvaSB0YW8gbWEgdHJhbiBrZQogICAgY291dCA8PCAiTmhhcCBtYSB0cmFuOlxuIjsKICAgIG1lbXNldCh2cywgMCwgMTAwKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG47IGorKykgewogICAgICAgICAgICBjaW4gPj4gYVtpXVtqXTsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8ICJUaHVjIGhpZW4gdGh1YXQgdG9hbiBCRlMgdHUgZGluaDogIjsKICAgIGludCBzdGFydDsKICAgIGNpbiA+PiBzdGFydDsKICAgIEJGUyhzdGFydCk7Cn0KCi8qKgpUZXN0OgoxMwowIDEgMSAxIDAgMCAwIDAgMCAwIDAgMCAwCjEgMCAxIDEgMCAxIDAgMCAwIDAgMCAwIDAKMSAxIDAgMSAxIDAgMCAwIDAgMCAwIDAgMAoxIDEgMSAwIDAgMCAxIDAgMCAwIDAgMCAwCjAgMCAxIDAgMCAxIDEgMSAwIDAgMCAxIDAKMCAxIDAgMCAxIDAgMSAwIDAgMCAwIDEgMAowIDAgMCAxIDEgMSAwIDEgMCAwIDAgMCAwCjAgMCAwIDAgMSAwIDEgMCAwIDAgMCAxIDAKMCAwIDAgMCAwIDAgMCAxIDEgMCAxIDAgMQowIDAgMCAwIDAgMCAwIDAgMSAwIDEgMSAxCjAgMCAwIDAgMCAwIDAgMSAxIDAgMCAxIDEKMCAwIDAgMCAxIDEgMCAxIDAgMSAwIDAgMAowIDAgMCAwIDAgMCAwIDEgMSAxIDAgMCAwCgoqKi8=