Powinieneś napisać program lub funkcję, która odbiera objętość misy i objętość wody w niej jako dane wejściowe i wyjściowe lub zwraca reprezentację ASCII misy z wodą w niej o pożądanych objętościach.
Miska ma następującą strukturę:
\ /
\___/
Miska ma co najmniej jedną _postać. Liczba \'i /' są również dodatnie i są równe ze względu na symetrię.
Objętość misy jest łączna liczba _i spaceznaków między \„s i /” s plus jeden dla każdej pary \i /. Oznacza to, że powyższa misa ma objętość 10:
\ / => xxxxx x (the last one is for the \/ pair)
\___/ xxx x (the last one is for the \/ pair)
Pamiętaj, że dwie różne miski mogą mieć tę samą objętość. Np. Obie następujące miski mają objętość 18:
\ /
\ / \ /
\___/ \_______/
Możemy wlać trochę wody do miski. Woda jest reprezentowana jako rząd ~znaków zamiast spacji w misce. W dolnym rzędzie nie ma spacji, więc nie może zawierać ~znaków. Oznacza to, że nasz przykład można napełnić wodą tylko w jeden sposób:
\~~~~~/
\___/
Inne miski można napełniać na wiele sposobów:
\~~~~~/ \ /
\ / \~~~/
\_/ \_/
Objętość wody w misce jest ilość rzędów miski poniżej tych ~znaków. Powyższe przykłady mają 4, 6 and 2odpowiednio objętości wody .
Wejście
- Dwie dodatnie liczby całkowite, objętość miski i objętość wody.
- Możesz wybrać kolejność dwóch liczb.
- Dwie liczby całkowite można wprowadzić w dowolnym typowym formacie listy (lista, krotka, tablica itp.) Lub jako dwie oddzielne liczby całkowite.
- Dla wartości wejściowych gwarantowana jest co najmniej jedna poprawna konfiguracja woda w misce.
Wynik
- Reprezentacja ASCII misy z wodą, gdzie objętość misy i wody są zgodne z danymi wejściowymi.
- Jeśli zdecydujesz się zwrócić wynik zamiast drukowania, powinien on zostać zwrócony jako pojedynczy ciąg (lub najbliższa alternatywa dla twojego języka).
- Dowolne końcowe białe znaki są dozwolone.
- Niedozwolone jest wprowadzanie niepotrzebnych początkowych białych znaków.
- Jeśli istnieje wiele poprawnych konfiguracji, możesz wybrać, którą z nich wyprowadzasz, ale możesz wyprowadzić tylko jedną z nich.
Przykłady
Po każdej parze liczb całkowitych wejściowych następuje jedno lub więcej możliwych wyjść.
6 2
\~~~/
\_/
10 4
\~~~~~/
\___/
24 8
\ /
\~~~~~~/
\ /
\__/
42 12 //either of the two output is correct
\ /
\ /
\~~~~~~~/
\ /
\ /
\_/
\ /
\~~~~~~~~~~~~~/
\___________/
90 68
\~~~~~~~~~~~~~~~~~~~~~/
\ /
\ /
\ /
\_____________/
102 42
\ /
\ /
\~~~~~~~~~~~~~~~~~/
\ /
\ /
\___________/
To jest golf golfowy, więc wygrywa najkrótszy wpis.