Pytanie:
Ułóż 5 nie atakujących rycerzy na toroidalnej tablicy 5x5
Laska
2019-12-12 15:38:16 UTC
view on stackexchange narkive permalink

Słynny brytyjski matematyk i miłośnik transportu publicznego, Simon Norton, był jednym z tych, którzy zdali sobie sprawę w 2019 roku. Był tematem wspaniałej biografii i jednym z moich ulubionych ludzi: niesamowity i niewinny człowiek.

Nie był wielkim fanem szachów, ale oto mały klejnot, który mu się należy.

„Toroidalny” oznacza, że ​​płyta nie ma krawędzi. Możesz wyjść po lewej stronie i po prostu pojawić się na tablicy po prawej. Możesz wyjść na górze i po prostu pojawić się na dole. I na odwrót.


EDYCJA: Jörg P. całkowicie to załatwił, więc muszę dać mu zielony haczyk. Ale jego rozwiązanie nie daje żadnego wglądu w to, dlaczego liczba jest tym, czym jest. Myślę więc, że jest to pytanie dodatkowe:

  • Pytanie dodatkowe: dlaczego otrzymujesz tę liczbę (120)?
To jest to, o czym myślałem do tej pory. Ponieważ plansza jest toroidalna, każdy skoczek będzie atakował dokładnie 8 pól. W sumie 5 rycerzy będzie atakować 40 pól. Ponieważ w sumie jest tylko 25 pól, a 5 z nich jest zajęte przez rycerzy, oznacza to, że jest tylko 20 pól, które można zaatakować w każdej konfiguracji. Inna uwaga: skoczkowie na krawędzi atakują te same kolory co kolor ich kwadratu, inni skoczkowie atakują kwadraty innego koloru. Nie wiem, jak dalej iść dalej.
Zgadzam się, że każde puste pole jest atakowane średnio przez 2 rycerzy. Nie sądzę, aby kolor kwadratów był tutaj tak pomocny
Poza tematem, ale TIL, że świat Ultimy był toroidalny
@gst, Tak jak powiedziałeś, każdy rycerz atakuje osiem pól, ale możesz ustawić rycerzy w taki sposób, że każde niezajęte pole jest atakowane przez _dwa_ z nich. Potrzebujesz więc tylko dwudziestu niezajętych pól, aby pomieścić pięciu rycerzy.
Tak, skupianie się na liniach w ten sposób wydaje się być absolutnie kluczowe. Można również rozróżnić „lewy skoczek” i „prawy skoczek”, „zręczny biskup” i „złowrogi biskup”, tak jak można odróżnić wiersz od pliku. Można sobie wtedy wyobrazić chimeryczne elementy, takie jak „lewy rycerz + zręczny goniec”. Wszystkie te 15 typów jednostek są równoważne przy przekształceniach planszy!
OK, więc sednem tej układanki jest to, że wykres wieży, wykres gońca i wykres skoczka na tablicy toroidalnej 5x5 są izomorficzne i jest ich 5! sposoby na umieszczenie 5 nieatakujących rycerzy z tego samego powodu, dla którego jest ich 5! sposoby na postawienie 5 nieatakujących wież. Jak miło. Czy to przypadek, czy ma jakieś głębokie znaczenie matematyczne?
Każde puste pole jest atakowane przez ** dokładnie ** dwóch skoczków. To oczywiste, jeśli myślisz o skoczkach jako o wieżach (!), Ale od samego początku łatwo zauważyć, że 3 nieatakujących skoczków nie może atakować tego samego pola. Jeśli weźmiesz pod uwagę 8 rycerzy atakujących jedno pole, to są oni w dwóch grupach wzajemnie atakujących rycerzy, więc twoi nieatakujący rycerze mogą zawierać tylko jednego z każdej grupy.
Jeśli wszyscy rycerze są tego samego koloru, mogą się wzajemnie bronić, ale nie mogą się nawzajem atakować, więc odpowiedź brzmi C (25,5) = 53130. Dlaczego w tego rodzaju łamigłówkach zawsze nazywane są elementami „nieatakującymi”? Czy mamy sobie wyobrazić rycerzy w 5 różnych kolorach?
Ściśle w przepisach FIDE figury atakują kwadraty lub przeciwne figury. Jak mówisz, użycie tych zagadek (np. Https://stackoverflow.com/questions/15219216/8-non-attacking-queens-algorithm-with-recursion#15226936) jest luźniejsze. Jeśli masz bardziej trafne sformułowanie, bez sprawiania, że ​​sformułowanie jest niezgrabne lub mylące, z przyjemnością mogę to zmienić
Siedem odpowiedzi:
#1
+12
Brilliand
2019-12-13 04:33:56 UTC
view on stackexchange narkive permalink

Zauważyłem uproszczenie rozwiązania @ RosieF:

Oznacz kwadraty etykietami z dwoma liczbami w następujący sposób:

 4,2 0,3 1,4 2 , 0 3,11,0 2,1 3,2 4,3 0,43,3 4,4 0,0 1,1 2,20,1 1,2 2,3 3,4 4,02,4 3 , 0 4,1 0,2 1,3 

Wtedy dwóch skoczków może zajmować dwa pola x, y i X, Y, jeśli pierwsze liczby x i X tych kwadratów są różne, a ich drugie numery y i Y są różne.

Ponieważ jest 5 skoczków i tylko 5 różnych liczb w każdym kierunku, oznacza to, że każda wartość x musi być zajęta przez skoczka, a każda z możliwych wartości y musi zostać przydzielony do jednego z tych rycerzy. Jeśli posortujemy współrzędne rycerzy według ich wartości x, a następnie wypiszemy tylko wartość y, to skończymy z pewną permutacją liczb od 0 do 4. Każde poprawne umieszczenie rycerzy daje permutację liczb 0- 4, a każda permutacja tych numerów odpowiada prawidłowemu układowi rycerzy.

Całkowita liczba ważnych układów rycerzy wynosi zatem 5! Lub 120.

#2
+9
Jörg P.
2019-12-12 21:11:32 UTC
view on stackexchange narkive permalink

To moja odpowiedź :)

Spoiler: Odpowiedź znajduje się w komentarzu w ostatniej linii bloku kodu

  using System; namespace Toroidal5Knights {class Program {statyczne rozwiązanie int = 0; static bool [,] board = new bool [5, 5]; static int [] dx = {-1, 1, 2, 2, 1, -1, -2, -2}; static int [] dy = {-2, -2, -1, 1, 2, 2, 1, -1}; static int Wrap (int position) {if (position > = 5) return position - 5; if (pozycja < 0) zwraca pozycję + 5; pozycja powrotu; } static bool PlacePossible (int posX, int posY) {for (int i = 0; i < dx.Length; ++ i) {if (board [Wrap (posX + dx [i]), Wrap (posY + dy [ i])]) return false; } return true; } static void SolveFiveKnights (int posX, int posY) {if (posY > = 5) {if (IsSolution ()) {PrintSolution (); rozwiązanie ++; }                powrót; } if (posX > = 5) {SolveFiveKnights (0, posY + 1); powrót; } if (PlacePossible (posX, posY)) {board [posX, posY] = true; SolveFiveKnights (posX + 1, posY); tablica [posX, pozycjaY] = false; } SolveFiveKnights (posX + 1, posY); powrót; } static bool IsSolution () {int count = 0; for (int i = 0; i < 5; ++ i) {for (int j = 0; j < 5; ++ j) {if (board [i, j]) count ++; }} liczba zwrotów == 5; } static void PrintSolution () {Console.WriteLine ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for (int i = 0; i < 5; ++ i) {for (int j = 0; j < 5; ++ j) {if (board [i, j]) {Console.Write (1); } else {Console.Write (0); }} Console.WriteLine (); } Console.WriteLine ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); } static void Main (string [] args) {SolveFiveKnights (0, 0); Console.WriteLine (rozwiązanie); }}} // Więc liczba rozwiązań wynosi 120.  
Witamy w chess.stackexchange! Jaka liczba pojawia się po uruchomieniu programu?
Dzięki! Edytowałem mój kod, abyś mógł przewinąć w dół, aby zobaczyć odpowiedź obliczaną przez program. Zrobiłem to w ten sposób, aby inni ludzie mogli uniknąć spoilerów
Twój program nie wydaje się eliminować duplikatów, które są tłumaczeniami (w przestrzeni toroidalnej) innego rozwiązania. Oznacza to, że wydrukowana odpowiedź * powinna * być wielokrotnością 25, ale tak nie jest. Dlatego podejrzewam błąd.
Przepraszam spałem. Przepraszam. Twoja odpowiedź jest całkowicie poprawna. Dobra robota! Czy masz wyjaśnienie, dlaczego pojawia się ten numer?
Nie musi to być wielokrotność 25, ponieważ rozwiązania mają tylko 5 różnych cyklicznych perm (np. A1, b2, c3, d4, e5).
@RosieF To dobra uwaga. Nie zdawałem sobie sprawy, że jest w zestawie rozwiązań.
Zamiast tablic `dx` i` dy`, nie mógłbyś zrobić czegoś według linii `Math.Abs ​​(posX) + Math.Abs ​​(posY) == 3 && Math.Max ​​(posX, posY) = = 2`? Jedyne możliwe wartości int w tym miejscu to 2 i 1 z dowolnym znakiem, w dowolnej kolejności. Oszczędza ci trochę zapętlenia :) Ponadto, `if (pozycja> = 5) zwraca pozycję - 5;` można zmienić na `pozycja = pozycja% 5;` (to działa również w przypadku liczb ujemnych, zawsze otrzymujesz dodatnia int między 0 a 4 (włącznie)). Przepraszam, recenzent kodu we mnie nie mógł pomóc :)
Nie rozumiem dokładnie, jak masz na myśli zamianę dx i dy. Jak dokładnie zaimplementowałbyś kontrolę PlacePossible bez nich, a zwłaszcza z mniejszą liczbą iteracji niż liczba możliwych ruchów? Z drugą sugestią bym się nie zgodził, bo myślę, że w sposobie, w jaki to napisałem, jest jaśniejsze (przynajmniej dla mnie), co się dzieje, a wydajność nie powinna być problemem w tym konkretnym przypadku użycia (i nie jestem też pewien, czy wymienić jeśli operacja modulo i tak spowodowałaby wzrost wydajności)
#3
+9
Rosie F
2019-12-13 00:55:33 UTC
view on stackexchange narkive permalink

Oznacz kwadraty etykietami z dwoma liczbami w następujący sposób:

 4,2 0,3 1,4 2,0 ​​3,11,0 2,1 3,2 4,3 0,43 , 3 4,4 0,0 1,1 2,20,1 1,2 2,3 3,4 4,02,4 3,0 4,1 0,2 1,3 

Następnie dwóch skoczków może zajmować dwa pola x, y i X, Y, jeśli pierwsze liczby x i X tych kwadratów są różne, a ich drugie numery y i Y są różne.

Potraktuj te liczby jako modulo 5. Następnie tabela mnożenia jest następująca:

 y 0 1 2 3 42y 0 2 4 1 3 

Więc jeśli y i Y są różne, więc są również 2y i 2Y.

Jeśli mamy rozwiązanie, to co się stanie, jeśli przesuniemy każdego skoczka z x, y do x, 2y? Wszystkie x rycerzy różniły się od siebie, a każdy x pozostawał taki sam, więc wszystkie one różnią się od siebie. Ich y różniły się od siebie, a różne y są nadal różne po podwojeniu, więc wszystkie pozostają różne od siebie. Wynik jest więc rozwiązaniem.

Czemu odpowiada to podwojenie y na tablicy? Powiększając go liniowo o współczynnik sqrt (2) i obracając go o 135 stopni w prawo. Po jednokrotnym powiększeniu roztworu możemy go powiększyć drugi raz (dwa powiększenia podwajają go liniowo i obracając o 90 stopni) i trzecie, ale czwarte powiększenie daje znowu oryginał.

Możemy zacząć dzięki temu rozwiązaniu

. . . . ... n. .. n n n ... n. ... . . . 

i powiększ go 0, 1, 2 lub 3 razy, uzyskując w sumie 4 rozwiązania. W każdym przypadku wiersze można cyklicznie permutować na dowolny z 5 sposobów, podobnie jak kolumny, aby uzyskać 25 cyklicznych permutacji każdego z tych 4 rozwiązań, co daje w sumie 100.

Ponadto mają następujące rozwiązanie

. . . . . . . . . . n n n n n. . . . . . . . . . 

To również może zostać powiększone 0, 1, 2 lub 3 razy, dając w sumie 4 rozwiązania. Każde z tych 4 rozwiązań ma tylko 5 cyklicznych permutacji, co daje w sumie 20 cyklicznych permutacji z tych 4 rozwiązań.

W sumie daje to 100 + 20 = 120.

Jak pokazał Jörg P., więcej nie ma.

#4
+7
Chromatix
2019-12-13 00:54:54 UTC
view on stackexchange narkive permalink

Zasadniczo istnieje sześć rozwiązań, które są unikalne pod względem rotacji i tłumaczenia. Dwa z nich dają po pięć tłumaczeń i pięć tłumaczeń z rotacją, w sumie dwadzieścia:

  NNNNN .................... N ..... N ..... N ..... N ..... N  

Pozostałe cztery unikalne rozwiązania można przetłumaczyć na każdą z 25 pozycji na płycie, ale są obrotowo symetryczne, dając kombinację 100 rozwiązań:

  ..N ....... NNN ...... N ...... ... N ... NNN ... N ....... N ... N ....... N ....... N ... N ...... NN..N ... NN .....  

Daje to łącznie 120 rozwiązań znalezionych przez program @ JörgP.

Właściwie to program w C #;)
@JörgP. Ach, Microsoft WeCantLegallyCallItJavaAnyMore. Co gorsza, ponieważ używam głównie komputera Mac i absolutnie odmawiam instalowania czegokolwiek Visual na moim komputerze z systemem Windows.
Twoje „trzecie unikalne rozwiązanie” nie istnieje jako takie; w rzeczywistości są to cztery inne rozwiązania, które można przetłumaczyć na każdą z 25 pozycji, ale nie można ich w ogóle obrócić ani odbić. Te cztery rozwiązania to cztery powiększenia znaku +, które Rosie F. opisała w swojej odpowiedzi.
Myślę, że teraz to widzę, chociaż jej odpowiedź jest trudna do wyobrażenia sobie. Zmienię swoje.
@Chromatix Mówiąc prosto, C # nie jest wariantem ani potomkiem Javy, jest to całkowicie odrębny język, z powierzchownymi podobieństwami, ponieważ ma podobne cele i podstawowe koncepcje. Dostępne są również kompilatory open source i wieloplatformowe, a także narzędzia online, w których można wkleić kod i uruchomić go, takie jak https://tio.run/
@Chromatix Przepraszam, ale musiałem nauczyć się C # do pracy, więc po prostu go użyłem. Jednak myślę, że przetłumaczenie tego kodu na program C ++ (lub Java) powinno być całkiem proste. "Funkcje" C #, których użyłem, to w zasadzie tylko wywołania Console.WriteLine;) I chcę również dodać, że C # uważam za znacznie bardziej fascynujący niż do tej pory Java
@Chromatix istnieją środowiska IDE inne niż VS, które obsługują C #: Atom, Brackets, Sublime Text, Emacs, Vim [wszystko przez wtyczkę OmniSharp] lub Jetbrains Rider, jeśli wolisz bardziej funkcjonalne IDE. Stary edytor tekstu + .net core CLI jest również opcją.
#5
+7
Laska
2019-12-13 10:28:47 UTC
view on stackexchange narkive permalink

(EDYCJA: znacznie poprawiona, ponieważ nie przemyślałam wystarczająco dokładnie etykiety Rosie F. Wynik jest jeszcze fajniejszy!)

Dziękuję za wszystkie świetne odpowiedzi. Chciałbym dodać własne rozwiązanie.

Kluczem do oznaczenia kwadratów w torusie, tak jak zrobili to Rosie F i Brilliand:

 4,2 0,3 1,4 2, 0 3,11,0 2,1 3,2 4,3 0,43,3 4,4 0,0 1,1 2,20,1 1,2 2,3 3,4 4,02,4 3, 0 4,1 0,2 1,3 

Ale możemy zrobić więcej niż tylko etykietowanie kwadratów: możemy zobaczyć etykietowanie jako mapę (transformację) z torusa do samego siebie!

Załóżmy, że ustalamy środkową komórkę 0,0 jako punkt początkowy (i odpowiednio zmieniamy etykietę 3 & 4 na -2 & -1). Prześledźmy, co dzieje się z liniami prostymi pod mapą etykiet. Przez to źródło przebiega 6 prostych linii, z których każda składa się z 4 komórek. 6x4 + 1 = 25: sprawdź.

Linie występują w 3 parach:

  • pionowy & poziomy dla wież
  • dexter & złowrogi dla gońców ( terminologia z heraldyki: może związana z linią, przez którą praworęczny szermierz zwykle zamiatałby swój miecz?)
  • skręt w lewo & skręt w prawo dla rycerzy (skoczek porusza się o 2 do przodu, a następnie skręca w lewo lub w prawo )

Etykiety są całkowicie określane przez dwie wartości: np gdzie umieścić 1,0 & 0,1, a stamtąd budujemy wszystko liniowo. W szczególności Rosie F zaczęła od:

 1,0 -> -2,1 0,1 -> -2, -1 

To odwzorowuje obie linie wieży na linie skoczków . Teraz dodając / odejmując to daje:

 1,1 -> 1,01, -1 -> 0,2 

Więc mapujemy linie gońców na linie wież. I dodanie kolejnej dawki "rook":

 2,1 -> -1,11,2 -> -1, -1 

I dlatego też mapujemy linie skoczków do linie biskupie.

Od R->N->B->R, możemy postrzegać skoczków i gońców jako po prostu wieże w innych układach odniesienia. Liczba sposobów ułożenia 5 nie atakujących wież to oczywiście 5!, Więc to samo musi dotyczyć 5 nie atakujących skoczków - a także 5 nie atakujących gońców !

Istnieje 480 możliwych etykiet (znanych ich bliskim jako GL (2,5)). Każda z nich stanowi punkt odniesienia, z którego można zobaczyć wybryki szachów. Od niektórych np. Linie gońców są naprawione, a skoczki i wieże są zamieniane (np. 1,0->-2, -1 & 0,1->1, -2). Inne są znacznie bardziej obce, a figury zachowują się jak chimery (np. Połączenie pionowej wieży i zręcznego gońca). Wynika z tego, że nawet dla tych dziwnych kawałków „pół-człowiek-pół-biszkopt” liczba sposobów, w jakie 5 może się pojawić, wynosi dokładnie 120.

EDYCJA: uogólnij na większe plansze

Co się stanie, jeśli uogólnimy deski o różnych rozmiarach? Powiedzmy, że mamy toroidalną tablicę pxp, gdzie p jest nieparzystą liczbą pierwszą (w celu uniknięcia problemów z dzieleniem). Następnie przez dowolny punkt Z przechodzi p + 1 linie (z gradientami 0,1, ..., p-1 i nieskończonością. Każda linia zawiera punkty p, w tym Z. Sprawdź: (p-1) (p + 1) + 1 = p ^ 2 ok

Każda inna niż osobliwa macierz 2x2 odwzoruje punkty A (1,0) & B (0,1) do dowolnych dwóch punktów C, D, które nie są współliniowe z O ( 0,0), ale to definiuje odwzorowanie z linii zawierających OA & OB do linii zawierających OC & OD, jeśli zignorujemy dokładne punkty odwzorowane na. -1) (p ^ -2p) macierze niejednoznaczne i dowolna para linii przechodzących przez początek są mapowane na dowolną inną parę linii przez macierze (p-1) ^ 2. Jest więc (p-1) p linia- mapowania na linię, czego można się spodziewać.

Na większych planszach rycerze nie będą odgrywać żadnej roli, ponieważ działają „lokalnie” i mają dostęp tylko do 8 pól. Ale warto wziąć pod uwagę nocnych podróżników. Ich linie nie są tak symetryczne jak wieże czy gońce: nightrider ma dostęp do dwukrotnie większej liczby linii lub dwukrotnie większej liczby pól. Musielibyśmy porównać lewy nightrider i prawy nightrider z wieżą i gońcem, aby mieć pionki o równoważnej sile.

Jeśli p = 7, to jest 8 linii przez dowolny punkt: wieża, gońca i Nightrider obejmuje je wszystkie. Jeśli p = 11, to otrzymujemy 4 dodatkowe linie ze względu na jednostkę, którą możemy nazwać jeźdźcem wielbłądem. (Jeśli ruch skoczka to (2,1), to ruch wielbłąda to (3,1).)

Examples for p=5,7,11

Gońcy mają swoje własne, oddzielne mapowanie, które jest również podwójne dla wież i skoczków po zastosowaniu odpowiedniego mapowania.
@Brilliand: Zrobiłem własne etykietowanie 1,0 -> - 2, -1 i 0,1-> 1, -2, co naprawia linie biskupa. Dopiero później zdałem sobie sprawę, że wybór wytwórni naprawdę ma znaczenie i że Rosie F zrobiła coś zupełnie innego. Jest to lepszy wybór do pracy, ponieważ pokazuje równoważność R, N i B na jednej mapie
#6
+1
XCATHADOR
2019-12-14 17:52:47 UTC
view on stackexchange narkive permalink

Oto odpowiedź w prostych słowach bez kodowania. 120, ponieważ zakładając, że istnieje jeden sposób konfiguracji pionów, a plansza jest torodialna i jest 25 pól, z których 5 jest zajętych przez rycerzy, pozostawiając 20. wtedy rycerze mogą zajmować wszystkie pozostałe pola, ponieważ plansza jest zasadniczo nieskończona ze względu na torodialność. ponadto mogą zajmować cztery inne pola, na których obecnie znajdują się rycerze, obracając się z innymi skoczkami, dając każdemu skoczkowi 24 inne pola do zajęcia 5 * 24 = 120, wierzę, że to działa.

Witaj w chess.stackexchange! Nie jestem pewien, czy rozumiem twój argument. Załóżmy, że mamy raczej gawrony niż skoczków. Załóżmy, że mamy udaną umowę, jak proponujesz jako Ra1b2c3d4e5. Następnie dowolny inny kwadrat, np. a2 jest atakowany przez dwie wieże. Nie można po prostu umieścić tam Ra1, ponieważ druga wieża go atakuje. Z pewnością można jednocześnie przesunąć Rb2 do b1, ale wtedy arytmetyka różni się od tego, co napisałeś. Przepraszam, jeśli źle zrozumiałem. Dzięki wielkie
Łączenie wszystkich różnych sposobów ustawienia poszczególnych elementów nie jest dobrym rozwiązaniem. Ogólnie rzecz biorąc, wartości te należy pomnożyć, a nie dodać (aby uzyskać liczbę możliwych pozycji).
Jeśli spojrzysz na powyższe rozwiązania, każde pole na planszy jest objęte jednym z rozwiązań, więc każdy skoczek może zajmować każde pole na planszy, a ponieważ jest pięciu skoczków, każdy skoczek może w sumie zajmować cztery inne pozycje względem innych skoczków, więc 25 pozycje razy cztery dodatkowe. Czterech innych skoczków obracających się w inne pozycje, dając każdemu skoczkowi cztery konfiguracje dla każdego pola, które może zajmować, wynosi 125. To prawda. nie wymowne, ale poprawne
@XCATHADOR Jednak właśnie uzyskałeś wynik 125. To nie tak. (Ogólnie rzecz biorąc, to pytanie nie traktuje tej samej pozycji z dwoma zamienionymi skoczkami jako inną pozycję).
#7
+1
Vaclav Kotesovec
2020-07-14 20:09:54 UTC
view on stackexchange narkive permalink

Bardziej ogólne odpowiedzi:

  1. OEIS A172532: Liczba sposobów umieszczenia 5 nieatakujących skoczków na tablicy toroidalnej n X n.
  2. moja książka Non-attacking chessboard (6ed, 2013), strona 308, rozdział "k Knights on an nxn toroidal chessboard".
Cześć Vaclav: witam i dziękuję za link. Podałem tutaj ogólny link do Twojej witryny https://chess.stackexchange.com/questions/27259/has-anyone-attempted-to-characterize-chess-mathematically/27275#27275. Simon Norton interesował się teorią grup, a plansza 5x5 to bardzo interesujący przypadek specjalny
Btw Vaclav: W maju wysłałem Ci e-maila z tematem „Chess Math Problem”, który mam nadzieję, że może Cię zainteresować. Mam teraz urazę: proszę sprawdź folder ze spamem
Nie otrzymałem żadnego takiego e-maila w maju ani teraz, nie w spamie. Mój adres e-mail to kotesovec2 (at) gmail.com, proszę wysłać ponownie.
OK, dziękuję, użyłem nieprawidłowego adresu e-mail, Vaclav. Miej urazę. To jest problem w Standard Young Tableaux


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...