cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-1 of 1 results.

A377700 Number of ways of placing n nonattacking rooks on a toroidal board of 2n^2 equilateral triangular spaces.

Original entry on oeis.org

2, 4, 6, 48, 30, 1152, 266, 45824, 4050, 2736000, 75702, 233017344, 2060734
Offset: 1

Views

Author

Hugh Robinson, Nov 04 2024

Keywords

Comments

The board is formed by identifying opposite edges of a 60°/120° rhombus, tiled by equilateral triangles with n triangles along each edge.
A rook move on the equilateral triangle tessellation is a move along a path through successively edge-adjacent faces, that turns alternately left and right at each face (starting with either left or right), so that the overall direction of movement remains approximately parallel to one set of triangle edges.
Also counts the number of 3 X n matrices such that each row is a permutation of {1, ..., n}, the first row is the identity permutation (1 .. n), and each column sums to either 0 or 1 (mod n).
When n = 2k+1, the rooks must be either all on white spaces or all on black spaces (using the obvious parity coloring) and the problem is equivalent to A006717(k) for each case. When n = 2k, there are k rooks on white spaces and k rooks on black spaces.

Examples

			For n = 4, the a(4) = 48 arrangements are generated from one solution by symmetries of the toroidal grid:
              o---o---o---o---o
             / \ /X\ / \ / \ /
            o---o---o---o---o
           / \X/ \ / \ / \ /
          o---o---o---o---o
         / \ / \ / \ / \X/
        o---o---o---o---o
       / \ / \ /X\ / \ /
      o---o---o---o---o
		

Crossrefs

Programs

  • MiniZinc
    % minizinc -D 'N=6' -s --all-solutions a.mzn
    include "globals.mzn";
    include "alldifferent.mzn";
    int: N;
    array[1..N] of var 1..N: perm1;
    array[1..N] of var 1..N: perm2;
    constraint alldifferent(perm1);
    constraint alldifferent(perm2);
    constraint forall(i in 1..N)(perm1[i] + perm2[i] + i in {N,N+1,2*N,2*N+1,3*N});
    solve satisfy;
    output [show(i) ++ " " | i in 1..N];
    output [show(perm1[i]) ++ " " | i in 1..N];
    output [show(perm2[i]) ++ " " | i in 1..N];

Formula

a(2k+1) = 2 * A006717(k).
Showing 1-1 of 1 results.