Các thách thức
Chương trình của bạn sẽ có 3 đầu vào:
- Một số nguyên dương là số lượng biến,
- Một tập hợp các cặp số nguyên không có thứ tự, trong đó mỗi cặp biểu thị một đẳng thức giữa các biến và
- Một số nguyên dương đại diện cho biến bắt đầu,
Nó sẽ trả về một tập hợp các số nguyên không âm, đại diện cho tất cả các biến có thể được hiển thị tương đương với biến bắt đầu (bao gồm cả biến bắt đầu).
Nói cách khác, đầu vào cho N
, E
và S
, trả về một tập Q
, như vậy:
S ∈ Q
.- Nếu
Z ∈ Q
và(Y = Z) ∈ E
, sau đóY ∈ Q
. - Nếu
Z ∈ Q
và(Z = Y) ∈ E
, sau đóY ∈ Q
.
Điều này cũng có thể được thể hiện như một vấn đề lý thuyết đồ thị :
Đưa ra một đồ thị vô hướng và một đỉnh trong đồ thị, liệt kê các đỉnh trong thành phần được kết nối của nó .
Thông số kỹ thuật
- Bạn có thể chọn sử dụng lập chỉ mục dựa trên 0 hoặc 1 dựa trên.
- Đầu vào đầu tiên đếm số lượng biến có mặt, trong đó các biến được đưa ra dưới dạng số. Ngoài ra, bạn không thể lấy đầu vào này, trong trường hợp này, nó được coi là bằng với chỉ số biến cao nhất hiện tại, hoặc nhiều hơn chỉ số này, tùy thuộc vào sơ đồ lập chỉ mục của bạn.
- Bạn có thể giả sử đầu vào được hình thành tốt: bạn sẽ không được cung cấp các biến ngoài phạm vi được chỉ định bởi đầu vào đầu tiên. Ví dụ,
3, [1 = 2, 2 = 0], 1
là một đầu vào hợp lệ, trong khi4, [1 = 719, 1 = 2, 3 = 2], -3
không. - Bạn không thể cho rằng bất kỳ biến nào sẽ có bất kỳ đẳng thức nào liên quan đến nó. Nếu được cung cấp đầu vào thứ ba là "cô đơn" (không có đẳng thức), thì đầu ra chính xác là một tập hợp đơn lẻ chỉ chứa đầu vào đó (vì nó bằng chính nó).
- Bạn có thể giả định rằng các đẳng thức sẽ không chứa một đẳng thức từ một biến thành chính nó và rằng cùng một đẳng thức sẽ không được đưa ra nhiều lần (điều này bao gồm những thứ như
1 = 2
và2 = 1
). - Bạn có thể giả định rằng tất cả các số nguyên được cung cấp sẽ nằm trong phạm vi đại diện cho ngôn ngữ của bạn.
- Bạn có thể lấy đầu vào thứ hai ở bất kỳ định dạng hợp lý.
Dưới đây là một số định dạng hợp lý:
0 = 2
0 = 3
1 = 0
{(0, 2), (0, 3), (1, 0)}
[0, 2, 0, 3, 1, 0]
0 2 0 3 1 0
Graph[{{0, 2}, {0, 3}, {1, 0}}]
[0 = 2, 0 = 3, 1 = 0]
- Bạn có thể xuất ở bất kỳ định dạng hợp lý nào (ví dụ: đặt, danh sách, v.v.). Đặt hàng là không liên quan.
Chấm điểm
Đây là môn đánh gôn , vì vậy chương trình hợp lệ ngắn nhất (tính bằng byte) sẽ thắng.
Các trường hợp thử nghiệm (0 chỉ mục)
3, [1 = 2, 2 = 0], 1 -> {0, 1, 2}
5, [0 = 2, 0 = 3, 1 = 2], 3 -> {0, 1, 2, 3}
6, [0 = 3, 1 = 3, 2 = 4, 5 = 1], 4 -> {2, 4}
6, [0 = 3, 1 = 3, 2 = 4, 5 = 1], 5 -> {0, 1, 3, 5}
5, [0 = 1, 2 = 0, 0 = 3, 4 = 0], 2 -> {0, 1, 2, 3, 4}
6, [0 = 1, 1 = 2, 2 = 3, 3 = 4, 4 = 5], 3 -> {0, 1, 2, 3, 4, 5}
4, [0 = 1, 1 = 2, 2 = 0], 3 -> {3}
5, [0 = 2, 2 = 4], 2 -> {0, 2, 4}
8, [], 7 -> {7}
Các trường hợp thử nghiệm (1 chỉ mục)
3, [2 = 3, 3 = 1], 2 -> {1, 2, 3}
5, [1 = 3, 1 = 4, 2 = 3], 4 -> {1, 2, 3, 4}
6, [1 = 4, 2 = 4, 3 = 5, 6 = 2], 5 -> {3, 5}
6, [1 = 4, 2 = 4, 3 = 5, 6 = 2], 6 -> {1, 2, 4, 6}
5, [1 = 2, 3 = 1, 1 = 4, 5 = 1], 3 -> {1, 2, 3, 4, 5}
6, [1 = 2, 2 = 3, 3 = 4, 4 = 5, 5 = 6], 4 -> {1, 2, 3, 4, 5, 6}
4, [1 = 2, 2 = 3, 3 = 1], 4 -> {4}
5, [1 = 3, 3 = 5], 3 -> {1, 3, 5}
8, [], 8 -> {8}