Biorąc pod uwagę liczbę całkowitą n i zestaw trojaczków różnych liczb całkowitych
S⊆{(i,j,k)∣1≤i,j,k≤n,i≠j,j≠k,i≠k},
znajdź algorytm, który albo znajduje permutację
π zbioru
{1,2,…,n} taką, że
(i,j,k)∈S⟹(π(j)<π(i)<π(k)) ∨ (π(i)<π(k)<π(j))
lub poprawnie określa, że taka permutacja nie istnieje. Mniej formalnie chcemy zmienić kolejność liczb od 1 do
n ; każdy potrójne
(i,j,k) w
S wskazuje, że
i musi pojawić się przed
j i kkw nowej kolejności, ale nie może występować między a .
jik
Przykład 1
Załóżmy, że i S = { ( 1 , 2 , 3 ) , ( 2 , 3 , 4 ) } . Następnien=5S={(1,2,3),(2,3,4)}
jestnieważne permutacji, ponieważ ( 1 , 2 , 3 ) ∈ S , ale π ( 1 ) > π ( 3 ) .π=(5,4,3,2,1)(1,2,3)∈Sπ(1)>π(3)
jestnieważne permutacji, ponieważ ( 1 , 2 , 3 ) ∈ S ale π ( 1 ) < π ( 3 ) < π ( 5 ) .π=(1,2,4,5,3)(1,2,3)∈Sπ(1)<π(3)<π(5)
jest prawidłową permutacją.(2,4,1,3,5)
Przykład 2
Jeśli i S = { ( 1 , 2 , 3 ) , ( 2 , 1 , 3 ) } , nie ma prawidłowej permutacji. Podobnie nie ma ważnej permutacji, jeśli n = 5 i S = { ( 1 , 2 , 3 ) , ( 3 , 4 , 5 ) , ( 2 , 5 , 3 )n=5S={(1,2,3),(2,1,3)}n=5 (myślę, że popełniłem tutaj błąd).S={(1,2,3),(3,4,5),(2,5,3),(2,1,4)}
Premia: Jakie właściwości określają, czy istnieje możliwe rozwiązanie?S