Giới thiệu
Trong lĩnh vực toán học được gọi là cấu trúc liên kết , có những thứ gọi là tiên đề tách . Theo trực giác, bạn có một tập hợp Xvà một tập hợp các tập hợp con Xmà chúng ta có thể nghĩ là thuộc tính. Hệ thống được phân tách tốt, nếu người ta có thể phân biệt giữa tất cả các mục Xdựa trên thuộc tính của chúng. Các tiên đề tách chính thức hóa ý tưởng này. Trong thử thách này, nhiệm vụ của bạn là kiểm tra ba tiên đề phân tách, được đưa ra Xvà danh sách các thuộc tính.
Đầu vào
Đầu vào của bạn là một số nguyên n ≥ 2và danh sách Tcác số nguyên. Các số nguyên trong Tđược rút ra từ X = [0, 1, ..., n-1]. Các danh sách trong Tcó thể trống và chưa được sắp xếp, nhưng chúng sẽ không chứa các bản sao.
Đầu ra
Đầu ra của bạn là một trong bốn chuỗi, được xác định bởi ba tiên đề tách, mỗi chuỗi mạnh hơn lần trước. Có những tiên đề khác, nhưng chúng tôi gắn bó với những điều này cho đơn giản.
- Giả sử rằng đối với tất cả các khác biệt
xvàytrongX, tồn tại một danh sáchTchứa chính xác một trong số chúng. Sau đóXvàTthỏa mãn tiên đề T0 . - Giả sử rằng đối với tất cả các khác biệt
xvàytrongX, tồn tại hai danh sáchT, một trong số đó chứaxnhưng khôngy, và danh sách kia chứaynhưng khôngx. Sau đóXvàTthỏa mãn tiên đề T1 . - Giả sử rằng hai danh sách trên cũng không chứa các yếu tố chung. Sau đó
XvàTthỏa mãn tiên đề T2 .
Đầu ra của bạn là một trong những T2, T1, T0hoặc TS, tùy thuộc vào các điều kiện trên nắm giữ ( TScó nghĩa là không ai trong số họ làm). Lưu ý rằng T2 mạnh hơn T1, mạnh hơn T0 và bạn phải luôn luôn đưa ra tiên đề mạnh nhất có thể.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Các trường hợp thử nghiệm
2 [] -> TS
2 [[],[1]] -> T0
2 [[0],[1]] -> T2
3 [[0],[0,1,2],[1,2]] -> TS
3 [[],[0],[0,1],[2]] -> T0
3 [[0],[0,1],[2,1],[0,1,2]] -> T0
3 [[0],[0,1],[2,1],[2,0]] -> T1
6 [[0,2,4],[0,3,5],[1,2],[3,4,5]] -> TS
6 [[0,2,4],[0,3,5],[1,2],[2,5],[3,4,5]] -> T0
6 [[0,2,4],[0,3,5],[1,2],[2,5],[3,1],[3,4,5]] -> T1
6 [[0,1],[0,2,3],[1,4],[2,4],[2,3,5],[1,3],[4,5]] -> T2
0 []nên cho T2.
nthừa? Trong phần còn lại của thử thách, tôi không thấy nó được sử dụng ngoài việc xác định các yếu tố nào có thể cóT, vậy nó chỉ là một phím tắt được cung cấp choT.Maximum()?