room-squares
v1.0.0
Published
construct Room squares from k=7 to k=47
Downloads
2
Readme
room-squares
Constructs Room squares from k=7 to k=47.
Install
npm install room-squares
Usage
let RS = require('room-square')
let square = RS(7)
Which gives you:
[
[ [0,5], null, null, [7,3], null, [4,6], [1,2] ],
[ [2,3], [0,6], null, null, [1,4], null, [5,7] ],
[ [6,1], [3,4], [0,7], null, null, [2,5], null ],
[ null, [7,2], [4,5], [0,1], null, null, [3,6] ],
[ [4,7], null, [1,3], [5,6], [0,2], null, null ],
[ null, [5,1], null, [2,4], [6,7], [0,3], null ],
[ null, null, [6,2], null, [3,5], [7,1], [0,4] ]
]
Which is useful for creating schedules for tournaments, because the square has the properties:
- Has k + 1 unique symbols, grouped in pairs.
- Every pair appear exactly once in the whole square.
- Every symbol is appear excatly once in each row.
- Every symbol is appear excatly once in each column.
In a tournament this translates to rows being rounds, columns being tables/problems. Every player will therefor meet every oponent exactly once, and do every problem exactly once.
Theory
Starters are from "Contruction of Room Squares" by Stanton and Mullin.
License
MIT - Arve Seljebu 2017