To jest wątek gliny. W gwint rabuś jest tutaj .
Napisz kod, który pobiera dane wejściowe ni tworzy „macierz węża” n-po-n.
Matryca węża to matryca zgodna z tym wzorem:
3 na 3:
1 2 3
6 5 4
7 8 9
i 4 na 4:
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
Dokładny format wyjściowy jest opcjonalny. Możesz na przykład uzyskać wynik [[1 2 3],[6 5 4],[7 8 9]]lub coś podobnego.
Musisz podać nazwę języka i wyrażenie, które w pełni odpowiada Twojemu kodowi. Możesz wybrać stopień szczegółowości wyrażenia regularnego. W skrajności możesz napisać wyrażenie pasujące do każdego możliwego ciągu, w którym to przypadku bardzo łatwo będzie złamać kod. Musisz także podać dane wyjściowe n=4, aby złodzieje znali dokładnie ten format, który wybrałeś.
Możesz użyć jednego ze smaków wyrażeń regularnych , które są dostępne na regex101.com , lub smaku Ruby.
- PCRE (PHP)
- JavaScript
- Pyton
- Golang
- Rubin
Musisz określić, którego używasz.
Uwagi:
- Musisz wesprzeć każdą dość dużą
n. Możesz założyć, że nie przepełni typu danych lub pamięci. Jeśli domyślnym typem danych są 8-bitowe liczby całkowite ze znakiem, możesz założyćn<=11, jeśli jest to 8-bitowe liczby całkowite bez znaku, możesz założyćn<=15. - Rabusie muszą pasować do formatu wyjściowego przesłania, z wyjątkiem spacji wiodących / końcowych i znaków nowej linii, ponieważ formatowanie SE mogło zostać usunięte.
Kryterium wygranej:
Zwycięzcą zostanie zgłoszenie bez udziału dowodu z najkrótszym wyrażeniem regularnym, mierzonym liczbą znaków.
Jeśli Twój post pozostawał nieprzerobiony przez 7 dni, możesz opublikować zamierzone rozwiązanie i oznaczyć zgłoszenie jako bezpieczne.
..