| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Biểu diễn đồ thị: 01 | 50 (p) | 1.0s | 256M |
| 2 | Biểu diễn đồ thị: 02 | 50 (p) | 1.0s | 256M |
| 3 | Biểu diễn đồ thị: 03 | 50 (p) | 1.0s | 256M |
| 4 | Biểu diễn đồ thị: 04 | 50 (p) | 1.0s | 256M |
| 5 | Biểu diễn đồ thị: 05 | 50 (p) | 1.0s | 256M |
| 6 | Biểu diễn đồ thị: 06 | 50 (p) | 1.0s | 256M |
| 7 | DFS cơ bản | 50 (p) | 1.0s | 1G |
| 8 | BFS Cơ bản | 50 (p) | 1.0s | 1023M |
Cho đồ thị có hướng \(G = (E, V)\) gồm \(N\) đỉnh và \(M\) cạnh. Hãy in ra ma trận kề của \(G\)
In ra một ma trận gồm \(N\) hàng, \(N\) cột. Ô \((i, j)\) là \(0\) nếu không có cạnh nối \(i-j\), là \(1\) nếu có cạnh nối \(i-j\)
Sample input
3 4
1 2
2 3
3 1
2 1
Sample output
0 1 0
1 0 1
1 0 0
Cho đồ thị có hướng \(G = (E, V)\) gồm \(N\) đỉnh và \(M\) cạnh. Hãy in ra danh sách kề của mỗi đỉnh theo thứ tự tăng dần
In ra \(N\) dòng, mỗi dòng là danh sách kề của đỉnh \(i\) theo thứ tự tăng dần (in ra \(0\) nếu danh sách kề của \(i\) rỗng)
Sample input
3 4
1 2
2 3
3 1
2 1
Sample output
1: 2
2: 1 3
3: 1
Cho đồ thị vô hướng \(G = (E, V)\) gồm \(N\) đỉnh và \(M\) cạnh. Từ đồ thị \(G\), tạo ra một đơn đồ thị \(G' = (E', V')\).
Hãy in ra danh sách kề theo thứ tự tăng dần của đỉnh \(i\) trong đồ thị \(G'\)
(Đơn đồ thị là đồ thị không có khuyên và không có cạnh song song)
In ra \(N\) dòng, mỗi dòng là danh sách kề của đỉnh \(i\) theo thứ tự tăng dần (in ra \(0\) nếu danh sách kề của \(i\) rỗng)
Sample Input
3 4
1 3
2 3
1 1
2 3
Sample Output
1: 3
2: 3
3: 1 2
Cho đơn đồ thị vô hướng (không có khuyên) \(G = (E, V)\) gồm \(N\) đỉnh và \(M\) cạnh. Hãy in ra số bậc của \(N\) đỉnh
In ra \(N\) số, số thứ \(i\) là bậc của đỉnh \(i\)
Sample Input
4 4
1 2
2 3
3 1
2 4
Sample Output
2 3 2 1
Cho đồ thị có hướng có trọng số gồm \(N\) đỉnh và \(M\) cạnh. Hãy in ra danh sách cạnh theo thứ tự trọng số tăng dần (nếu trọng số bằng nhau thì sắp xếp theo thứ tự xuất hiện).
In ra \(M\) dòng, mỗi dòng là thông tin của của cạnh thứ \(i\) sau khi được sắp xếp
** Sample Input **
4 4
1 3 2
3 4 8
2 3 4
1 4 1
**Sample Output **
1 4 1
1 3 2
2 3 4
3 4 8
"Nhất tiễn" BaoJiaoPisu là tài năng trẻ được kì vọng của đội Tin Đà Nẵng. BaoJiaoPisu đang tập luyện hăng say để chuẩn bị màn combat code với "Song điêu" của Tam Kì. Nhưng vì đang mơ tưởng đến chiến thắng trước mắt, BaoJiaoPisu không thể tập trung cho bài tập về nhà của Facebook được. Các bạn hãy giúp BaoJiaoPisu hoàn thành bài tập này sớm để cậu có thể thoải mái tập trung cho trận combat sắp tới nhé.
Trong 1 group trên Facebook có \(n\) người, \(m\) cặp bạn khác nhau. Cho \(q\) truy vấn, mỗi truy vấn gồm 2 số \(s, t\). Ở mỗi truy vấn, hãy cho biết số bạn chung của 2 người \(s, t\) là bao nhiêu?
In ra \(Q\) dòng, mỗi dòng là kết quả của truy vấn thứ \(i\)
Sample Input
5 4
5 3
2 5
1 4
5 1
2
5 3
4 5
Sample Output
0
1
Đồ thị: Gồm một tập các đỉnh được nối với nhau bằng các cạnh. Nếu không không được chỉ rõ trong ngữ cảnh, đồ thị được hiểu là đồ thị đơn.
Liên thông: Nếu giữa hai điểm bất kỳ của một đồ thị đều có thể thiết lập một đường đi từ đỉnh này đến đỉnh kia, đồ thị được coi là liên thông; nếu không, đồ thị được coi là không liên thông. Một đồ thị được coi là hoàn toàn không liên thông nếu không có đường đi giữa hai đỉnh bất kỳ trong đồ thị. Đây chỉ là một cái tên khác để miêu tả một đồ thị rỗng hoặc một tập độc lập.
Yêu cầu: Cho đơn đồ thị vô hướng \(G = (V, E)\) gồm \(n\) đỉnh và \(m\) cạnh, các đỉnh được đánh số từ \(1\) tới \(n\) và các cạnh được đánh số từ \(1\) tới \(m\). Tìm số thành phần liên thông của đồ thị.
Dòng 1: Chứa hai số \(n, m\).
\(M\) dòng tiếp theo: Dòng thứ \(i\) có dạng 2 số nguyên \(u, v\). Trong đó \(u, v\) là chỉ số hai đỉnh đầu mút của cạnh thứ \(i\).
Test 1
7 6
1 2
1 3
2 3
5 6
6 7
5 7
3
Cho một đồ thị vô hướng gồm \(N\) đỉnh đánh số từ 1 tới \(N\) và \(M\) cạnh. Độ dài của mỗi cạnh có giá trị là 1. Một đồ thị sẽ có 1 nút trung tâm \(S\).
Với mỗi đỉnh có thể tới được từ đỉnh \(S\), tính khoảng cách ngắn nhất từ đỉnh đó tới \(S\) và in ra các đỉnh theo thứ tự khoảng cách ngắn nhất tăng dần. Lưu ý: nếu 2 đỉnh có khoảng cách bằng nhau thì nhãn nào nhỏ hơn sẽ đứng trước.
Test 1
7 6 1
1 2
2 3
3 4
4 5
5 6
1 3
1 0
2 1
3 1
4 2
5 3
6 4