Last active
May 31, 2021 10:30
-
-
Save spaanse/4369051eec0b6da1aad29d243a3049bb to your computer and use it in GitHub Desktop.
Tiling hypercube unfoldings
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
typedef vector<int> vi; | |
typedef vector<vi> vvi; | |
typedef pair<int,int> ii; | |
typedef vector<ii> vii; | |
typedef int64_t ll; | |
int main() { | |
// 261 unfoldings of a hypercube | |
vector<vvi> unfoldings = { | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -2}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 0, -2}, { 0, 1, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 1, 0, 0}, { 1, 1, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, 0}, {-2, 0, 0}, { 1, 0, 0}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 0, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 1, 0}, { 0, 2, 0}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 0, 1, 0}, { 1, 1, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, -1, -2}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 0, 1}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 1, -1}, {-1, 0, 0}, {-2, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, -1, -3}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 1, 0}, { 0, 2, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, { 0, 0, 2}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, 0}, { 0, -1, 1}, { 0, 1, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 1, 0, 0}, { 2, 0, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 1, 0, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 0, -2}, {-1, 0, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, 0}, {-1, -1, 0}, { 1, -1, 0}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 2, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, 1}, { 0, -1, 1}, { 0, 1, 0}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 1, 0}, { 0, 2, 0}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, { 0, 1, 0}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 0, 1}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 1, -1}, {-1, 0, 0}, {-2, 0, 0}, {-3, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -2, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, 0}, {-1, 1, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 0, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 1, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 0, 2}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, 0}, {-1, -1, 0}, { 0, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, -1, -2}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, -2, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, -2, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 0, 0}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, { 1, 0, 1}, { 1, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 2, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -2}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, 1}, { 0, -1, 1}, { 0, 1, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, -2, -1}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -2}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 0, 2, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, 0}, {-2, 0, 0}, { 0, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, 0}, { 0, -1, 1}, {-1, 0, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -3}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, 0}, { 0, 1, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, -3, -1}, {-1, 0, 0}, {-2, 0, 0}, {-3, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, 0}, {-1, -1, 0}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -2}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, -2, -1}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, 0}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, -1}, { 1, 0, 0}, { 1, 0, 1}, { 2, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, -1}, {-1, 0, 0}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, -1, -3}, {-1, 0, 0}, {-1, 0, 1}, {-1, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, {-1, -2, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -1, -1}, { 1, 0, 0}, { 1, 1, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 1, 0, 0}, { 2, 0, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, -1, -1}, { 0, 0, 1}, { 0, 1, 1}, { 0, 1, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -1}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, 0}, {-1, 0, 1}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 0, 1, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 2, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, 0}, { 0, -1, 1}, { 0, 1, 0}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, 0}, {-1, -1, 0}, {-2, -1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, 0}, {-1, 0, 1}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -2}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, 0}, {-1, 0, 1}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 0, 0}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -1, -1}, { 0, 1, 0}, { 1, 1, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, 0}, {-2, 0, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, {-1, -1, -2}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 1, 0, 0}, { 2, 0, 0}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 0, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 0, 0, 1}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, 0}, {-2, 0, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, -1, -2}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -2}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, 0}, {-1, -1, 0}, { 1, 0, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, 0}, {-1, -1, 0}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, {-1, -2, -1}, { 0, 1, 0}, { 1, 1, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -1}, {-1, 0, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, { 0, 1, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, -1}, {-1, 0, 0}, {-1, 0, 1}, {-1, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, 0}, {-1, -1, 0}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 0, 1}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, {-1, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -1}, { 0, 1, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, 1}, { 0, -1, 0}, { 0, 1, 0}, {-1, 0, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, 0}, {-1, -1, 0}, { 0, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, 1}, { 0, -1, 1}, {-1, 0, 0}, {-1, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, {-1, -2, -1}, { 1, 0, 0}, { 1, 1, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, -1, -1}, { 0, 0, 1}, { 0, 0, 2}, { 0, 1, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, 0}, {-2, 0, 0}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, 1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 0, 2}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, 0}, {-2, 0, 0}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, { 0, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, -1, -1}, { 0, 1, 0}, { 0, 1, 1}, { 0, 2, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, -1}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 0, 1, 0}, { 0, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, 0, 0}, {-2, 0, 0}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, 0, -3}, { 0, -1, -1}, {-1, 0, 0}, {-1, 1, 0}, {-1, 2, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 0, 1}, {-1, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 1, 0}, { 0, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -2}, { 0, 0, 1}, { 0, 1, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, -1}, {-1, 0, 0}, {-1, 0, 1}, {-1, 0, 2}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 0, 2}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 0, 0, -2}, { 0, 1, 0}, { 0, 1, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, -1}, { 0, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, {-1, -2, -1}, { 1, 0, 0}, { 2, 0, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, {-1, -2, -1}, { 1, 0, 0}, { 2, 0, 0}, { 2, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 1, 0, 0}, { 1, 0, 1}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 1, 0, 1}, { 0, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -2}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, -1, -2}, { 0, 0, 1}, { 1, 0, 1}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, {-1, 1, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, {-1, -1, -2}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, 0}, {-1, 0, 1}, { 1, 0, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, { 0, 0, 1}, { 0, 1, 1}, {-1, 0, 1}, { 1, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -2, -1}, { 0, 0, -2}, { 0, 1, 0}, {-1, 1, 0}, { 1, 1, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, { 0, 1, -1}, {-1, 0, 0}, {-1, 0, 1}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 0, 1, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, -1}, { 0, 1, 0}, { 1, 1, 0}, { 0, 0, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -2}, {-1, 0, -1}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, { 0, -1, -2}, {-1, -1, -1}, { 1, 0, 0}, { 1, 1, 0}, { 1, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, -1}, { 0, 1, 0}, { 0, 2, 0}, { 0, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, {-1, 0, 0}, {-1, 0, 1}, { 0, 1, 0}, { 1, 0, 0}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, -1, -1}, {-1, -1, -1}, { 1, 0, 0}, { 2, 0, 0}, { 0, 0, 1}, { 0, 1, 1}}, | |
{{ 0, 0, 0}, { 0, 0, -1}, { 0, 0, -2}, { 0, -1, -1}, { 0, 1, 0}, {-1, 1, 0}, { 0, 0, 1}, { 1, 0, 0}} | |
}; | |
int numFound = 0; | |
int number = 1; | |
// loop over all unfoldings | |
for(vvi coord : unfoldings) { | |
bool found = false; | |
cout << setw(3) << number++ << ": "; | |
// coefficent for 1st axis | |
for (int a = 1; a < 16 and not found; a++) { | |
// coefficient for second axis | |
for (int b = 1; b < 16 and not found; b++) { | |
// coefficient for third axis | |
for (int c = 1; c < 16 and not found; c++) { | |
// store which values mod 16 are covered, for each of the 8=2^3 reflections | |
vector<bitset<16>> filled(8); | |
for (int i = 0; i < 8; i++) { | |
for (int j = 0; j < 8; j++) { | |
int sum = 0; | |
// flip along 1st axis | |
if (j&1) sum -= a*coord[i][0]; | |
else sum += a*coord[i][0]; | |
// flip along 2nd axis | |
if (j&2) sum -= b*coord[i][1]; | |
else sum += b*coord[i][1]; | |
// flip along 3rd axis | |
if (j&4) sum -= c*coord[i][2]; | |
else sum += c*coord[i][2]; | |
sum %= 16; | |
if (sum < 0) sum += 16; | |
filled[j].set(sum); | |
} | |
} | |
// The pattern we need to fill the gaps | |
bitset<16> inverse = filled[0]; | |
inverse.flip(); | |
// Rotate until lexicographically smallest (corresponds to translation of the unfolding) | |
bitset<16> copy = inverse; | |
for (int j = 0; j < 16; j++) { | |
copy = (copy << 1) | (copy >> 15); | |
if (copy.to_ulong() < inverse.to_ulong()) inverse = copy; | |
} | |
// Go over all reflections | |
for (int i = 0; i < 8 and not found; i++) { | |
// Rotate until lexicographically smallest | |
copy = filled[i]; | |
for (int j = 0; j < 16; j++) { | |
copy = (copy << 1) | (copy >> 15); | |
if (copy.to_ulong() < filled[i].to_ulong()) filled[i] = copy; | |
} | |
// If it fits we have found a tiling | |
if (inverse == filled[i]) { | |
cout << a << " " << b << " " << c << " (with " << i << ")" << endl; | |
found = true; | |
} | |
} | |
} | |
} | |
} | |
if (not found) { | |
cout << "no solution" << endl; | |
} else { | |
numFound++; | |
} | |
} | |
// Print for how many of the unfoldings we found a solution | |
cout << "Found solutions for " << numFound << "/" << unfoldings.size() << endl; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment