Jeśli monety są umieszczane na siatce i można odwracać tylko cały wiersz lub kolumnę, w jaki sposób można odwrócić monety, aby uzyskać minimalną liczbę ogony.Uzyskanie minimalnej liczby ogonków monet po wielokrotnym wielokrotnym przewróceniu całego wiersza lub kolumny
Próbowałem użyć chciwego rozwiązania, w którym odwracam wiersz lub kolumnę, w której liczba ogonków jest większa od głów i powtarzam proces, dopóki nie zmieni się liczba. Ale odkryłem, że takie podejście nie daje mi pewnego razu optymalnego rozwiązania.
HHT
THH
THT
Na przykład, jeśli monety są umieszczone jak wyżej i przerzucić monety w poniższy sposób uzyskana wartość wynosi 3, ale w rzeczywistości odpowiedź brzmi 2.
1. Flip the row 3
HHT
THH
HTH
2. Then there exists no row or column where the number of tails are greater than that of heads.
3. But if I flip the column 3, row 3, column 1, there exists a solution whose value is 2.
THH
HHT
HHH
Więc myślę powyższy algorytm nie działa. Jakie podejście i jakiego algorytmu należy użyć?
Dlaczego odpowiedź byłaby 2? Dlaczego przerwiesz, gdy pojawi się teraz wiersz/kolumna z większą liczbą liter niż H, czy nie możesz odwrócić, dopóki wszystko nie jest głową? Jeśli przez pomyłkę naprawdę masz na myśli przeprowadzenie eksperymentu stochastycznego polegającego na przerzucaniu wszystkich monet, istnieje większe prawdopodobieństwo, że otrzymasz rozwiązanie nieoptymalne niż optymalne. –
@ G.Bach Myślę, że w jego przypadku monety są po prostu żetonami, które mogą pokazywać ogony lub głowy, a rzutowanie oznacza po prostu, że moneta jest odwrócona. – Svalorzen
@Svalorzen Masz rację. Myślę, że użyłem tego słowa źle. Chodzi mi o to, że zmieniam tylko głowę i ogon. – glast