Jak wiadomo od niepamiętnych czasów, studenci w czasie wolnym od egzaminów straszliwie się nudzą (chyba, że jest jakaś impreza, ale to temat na inne zadanie). Z drugiej zaś strony większość nudzących się studentów jest bardzo produktywna jeśli chodzi o wymyślanie mniej lub bardziej przydatnych rzeczy.
Ponieważ student, jak każdy normalny człowiek (tutaj należałoby zadać pytanie czy studenci mogą być uważani za normalnych) lubi hazard. Jeden z nich wymyślił nową grę. Zasady gry są bardzo proste.
Do gry potrzebne są: ustawiony pionowo pojemnik o dziesięciu wierszach i dziesięciu kolumnach oraz zestaw 100 kulek w pięciu kolorach – po dwadzieścia kulek z każdego koloru. Pierwszy z graczy układa kule w pojemniku w losowy sposób, a drugi wybiera je z pojemnika w ściśle określony sposób. Poruszając się tylko po dolnym rzędzie naprzemiennie od strony lewej do prawej i z powrotem sprawdza kolor kulki w tym miejscu, liczy z iloma kulkami tego samego koloru ona sąsiaduje i następnie usuwa tę kulkę z pojemnika. Dla każdego kroku liczba zdobytych punktów to 2 do potęgi równej liczbie sąsiednich kulek tego samego koloru co aktualnie sprawdzana kulka (bez tej kulki). Gracz zbiera kulki aż do całkowitego opróżnienia zbiornika. Sąsiedztwo kulek jest przechodnie, tzn. że jeśli kulka A sąsiaduje z kulką B i kulka B sąsiaduje z kulką C to kulka A sąsiaduje z C.
Aby zobrazować tą metodę mały rysunek poglądowy gry na mniejszej planszy 4x4:
Punkty zdobywane w kolejnych ruchach:
20 + 21 + 20 + 0 + 20 + 20 + 20
Suma zdobytych w tych ruchach punktów wynosi: 6 * 1 + 2 = 8
Celem gracza pierwszego jest takie ustawienie kulek, aby jego przeciwnik zebrał jak najmniej punktów. Kiedy grający zakończy zbieranie następuje zmiana i zbierający ustawia kulki – a ustawiający zbiera. Wygrywa ten, kto zgromadzi więcej punktów.
Ponieważ zliczanie punktów na dużej planszy jest dosyć męczące, więc studenci postanowili postawić ci piwo (bezalkoholowe oczywiście ;-) ) za napisanie im programu, który będzie potrafił policzyć ile punktów zdobywa gracz zbierający kulki.
Pierwsza linia zawiera liczbę zestawów danych do rozwiązania: Z > 0 (jest to 32-bitowa liczba ze znakiem). Każdy zestaw składa się z dziesięciu linii po dziesięć liczb w każdej linii oddzielonych pojedynczymi znakami odstępu. Każda z tych liczb to kolor K jednej kuli w pojemniku, gdzie 0 ≤ K ≤ 4. Kule wypisane są rzędami od góry do dołu, od strony lewej do prawej jeśli chodzi o ich ułożenie w pojemniku.
Dla każdego zestawu danych program powinien na standardowe wyjście wypisywać jedną linię zawierającą sumę punktów dla danego ustawienia kulek.
2 1 2 1 4 4 4 3 3 3 1 4 0 2 4 0 2 0 0 0 3 2 3 0 0 0 2 2 1 4 3 4 0 4 2 0 2 2 3 1 3 0 3 2 3 1 4 3 2 1 1 3 2 0 3 0 0 4 2 3 2 1 1 4 1 4 1 1 4 4 3 4 2 2 2 1 4 0 2 1 0 3 3 1 2 3 0 1 4 0 2 4 1 0 1 0 4 3 3 1 4 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4
305 10230