我记得那是一个寒冷的冬天,雪花飘飘。我躲在毯子里看着外面的世界。突然,门被推开了,我的父母慌张地进来了,他们告诉我我们家着火了,我们必须尽快离开。我被他们抱起来,穿上厚厚的衣服和鞋子。我还没有完全清醒,但我知道这不是一场简单的游戏,因为我可以闻到烟味和听到警笛声。当我们下楼时,我看到整栋楼房都被大火包围,我感到非常害怕。当我们到达楼下时,消防车已经到达了。我们走了出去,看到了围观的人群。我被带到一个暖和而安全的地方,我看着自己的房子被吞噬。我的父母告诉我,虽然现在我们失去了我们的家,但我们仍然拥有彼此。他们也告诉我,我们会重建我们的家园,我们会更强大。那天晚上,我们住在了一个朋友的家里。尽管我们失去了许多,但我们成为了一个更紧密的家庭。我学会了面对困难,勇敢地面对每一天。这个经历让我更加感激我的家人和朋友,他们始终支持我。它也让我懂得了生命的脆弱,珍惜每一刻。
#include
#include
#include
using namespace std;
void bfs(vector<vector>& graph, vector& mark, int start, int index) {
queue q;
q.push(start);
mark[start] = index;
while (!q.empty()) {
int curr = q.front();
q.pop();
for (int neighbor : graph[curr]) {
if (mark[neighbor] == -1) {
mark[neighbor] = index;
q.push(neighbor);
}
}
}
}
void markConnectedComponents(vector<vector>& graph, vector& mark) {
int index = 0;
for (int i = 0; i < graph.size(); i++) {
if (mark[i] == -1) {
bfs(graph, mark, i, index);
index++;
}
}
}
int main() {
int n, m;
cin >> n >> m;
vector<vector> graph(n);
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
graph[u].push_back(v);
graph[v].push_back(u);
}
vector mark(n, -1);
markConnectedComponents(graph, mark);
for (int i = 0; i < n; i++) {
cout << "Vertex " << i << " is in component " << mark[i] << endl;
}
return 0;
}