001
09.04.2005, 19:20 Uhr
Pablo
Supertux (Operator)
|
Zitat: |
1 2 6 3 4 Keine Permutation
|
Tja, Keine Permutation ist falsch, das ist wohl eine Permutation, die Identität, aber Permutation bleibt Permutation.
Die weißt, dass der Grad der permutation (-1)^anazhl_der_Inversionen, also zähle sie einfach.
Ich nehme an, du hast ein Array, oder so:
C++: |
int grad(int* permutation, size_t len) { int i; int j; int inv=0; for(i=0; i< len; ++i) { for(j=i+1; j<len; ++i) inv += permutation[i] > permutation[j]; }
return (inv % 2 ? -1 : 1); }
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 09.04.2005 um 19:21 Uhr von Pablo editiert. |