You are on page 1of 2

Nguyễn Duy Minh Lâm  NL

Nhà của tôi  Khoá học  2223II_INT2210_4  Đồ thị  Xóa cạnh

Cấu trúc dữ liệu và giải thuật (2223II_INT2210_4) Xóa cạnh

Bắt đầu vào lúc Monday, 29 May 2023, 10:32 AM


Trạng thái Đã xong
Kết thúc lúc Monday, 29 May 2023, 10:32 AM
Thời gian thực hiện 11 giây
Điểm 10,00 trên 10,00 (100%)


Câu Hỏi 1 Đúng

Cho một đồ thị liên thông G có n đỉnh đánh số từ 1 đến n , và n cạnh hai chiều nối các đỉnh. Bạn hãy viết chương trình xóa đi một cạnh của G để G trở
thành đồ thị liên thông nhưng không có chu trình.

Đầu vào

Dữ liệu vào từ bàn phím gồm n + 1 dòng. Dòng đầu tiên chứa số nguyên n .
(n ≤ 1000) n dòng tiếp theo, mỗi dòng chứa hai số nguyên biểu diễn một
cạnh của đồ thị.

Đầu ra

In ra màn hình cạnh cần xóa. Nếu có thể xóa nhiều cạnh khác nhau, in ra cạnh xuất hiện cuối cùng trong danh sách đầu vào.

For example:

Input Result

3 1 3
1 2
2 3
1 3

Answer:

1 #include <bits/stdc++.h>
2 using namespace std;
3 int n;
4 int parent[1001];
5
6 ▼ void make_set(){
7 ▼ for(int i=1;i<=n;i++){
8 parent[i]=i;
9 }
10 }
11
12 ▼ int find_parent(int v){
13 ▼ if(v==parent[v]){
14 return v;
15 }
16 return parent[v]=find_parent(parent[v]);
17 }
18
19 ▼ bool marked(int a,int b){
20 a=find_parent(a);
21 b=find_parent(b);
22 return a==b;
23 }
24
25 ▼ void Union(int a,int b){
26 a=find_parent(a);
27 b=find_parent(b);
28 parent[a] b;

Passed all tests!

Đúng

Marks for this submission: 10,00/10,00.

◄ Truyền tập tin Chuyển tới... Đếm cặp số ►

You might also like