Cody

# Problem 803. Twist 'n' Match

Solution 1588202

Submitted on 20 Jul 2018 by goc3
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
n = 2; m = 1; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));

a = 1 1 2 4

2   Pass
n = 3; m = 7; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));

a = 1 4 7 2 5 8 3 1 9 a = 1 4 7 2 1 8 3 1 9 a = 1 4 1 2 1 8 3 1 9 a = 1 4 1 2 1 8 3 1 9 a = 1 4 1 2 1 8 3 1 9 a = 1 4 1 2 1 8 3 1 9 a = 1 4 1 2 1 8 3 1 9 a = 1 4 1 2 1 1 3 1 9 a = 1 4 1 2 1 1 3 1 1 a = 1 4 1 2 1 1 3 1 1 a = 1 4 1 1 1 1 3 1 1 a = 1 4 1 1 1 1 3 1 1 a = 1 4 1 1 1 1 3 1 1 a = 1 4 1 1 1 1 1 1 1

3   Pass
n = 6; m = 6; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));

a = 1 7 13 19 25 31 2 8 14 20 26 32 3 9 15 21 27 33 4 1 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 36 a = 1 7 13 19 25 31 2 8 14 20 26 1 3 9 15 21 27 33 4 1 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 36 a = 1 7 13 19 25 31 2 1 14 20 26 1 3 9 15 21 27 33 4 1 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 36 a = 1 7 13 1 25 31 2 1 14 20 26 1 3 9 15 21 27 33 4 1 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 36 a = 1 7 13 1 25 31 2 1 14 20 26 1 3 9 15 21 27 1 4 1 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 36 a = 1 7 13 1 25 31 2 1 14 20 26 1 3 9 15 21 27 1 4 1 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 13 1 25 31 2 1 14 20 26 1 3 9 15 21 27 1 4 1 16 1 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 13 1 25 31 2 1 14 20 1 1 3 9 15 21 27 1 4 1 16 1 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 13 1 25 31 2 1 14 20 1 1 1 9 15 21 27 1 4 1 16 1 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 13 1 25 31 2 1 14 20 1 1 1 9 15 21 27 1 4 1 16 1 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 13 1 25 31 2 1 14 20 1 1 1 9 15 21 27 1 4 1 16 1 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 27 1 4 1 16 1 28 34 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 27 1 4 1 16 1 28 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 27 1 1 1 16 1 28 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 1 1 1 1 16 1 28 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 1 1 1 1 16 1 28 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 1 1 1 1 16 1 28 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 14 20 1 1 1 9 15 21 1 1 1 1 16 1 1 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 1 20 1 1 1 9 15 21 1 1 1 1 16 1 1 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 0 20 1 1 1 9 15 21 1 1 1 1 16 1 1 1 5 11 17 23 29 35 6 12 18 24 30 1 a = 1 7 1 1 25 31 2 1 0 20 1 1 1 9 15 21 1 1 1 1 1 1 1 1 5 11 17 23 29 35 6 12 18 24 30 1

4   Pass
n = 10; m = 11; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));

a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 1 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 1 35 45 55 65 1 85 95 6 16 26 36 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 1 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 1 35 45 55 65 1 85 95 6 16 26 1 1 56 66 76 86 1 7 17 27 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 1 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 1 35 45 55 65 1 85 95 6 16 26 1 1 56 66 76 86 1 7 17 1 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 1 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 1 35 45 55 65 1 85 95 6 16 26 1 1 56 1 76 86 1 7 17 1 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 1 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 3 13 23 33 43 53 63 73 83 93 1 14 24 34 44 54 64 74 84 94 5 15 1 35 45 55 65 1 85 95 6 16 26 1 1 56 1 76 86 1 1 17 1 37 47 57 67 77 87 97 8 1 28 38 48 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 50 1 70 80 90 100 a = 1 11 21 31 41 51 61 1 81 1 2 12 22 32 42 52 1 72 82 92 ...

5   Pass
n = 10; m = 14; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));

a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 1 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 98 1 19 29 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 98 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 98 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 32 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 98 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 1 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 98 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 1 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 1 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 1 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 1 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 1 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 1 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 1 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 1 42 1 62 72 82 92 3 13 23 33 43 53 63 1 83 93 4 1 24 34 44 54 64 74 84 94 5 15 25 35 1 55 1 75 85 95 6 16 26 1 46 56 66 76 86 96 1 17 27 37 47 57 67 77 87 97 8 18 28 1 1 58 68 78 88 1 1 19 1 39 49 59 69 79 89 99 10 20 30 40 1 60 70 80 90 100 a = 1 11 21 31 41 51 1 71 81 91 2 12 22 1 42 1 62 72 82 92 ...

6   Pass
n = 20; m = 83; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));

a = 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381 2 22 42 62 82 102 122 142 162 182 202 222 242 262 282 302 322 342 362 382 3 23 43 63 83 103 123 143 163 183 203 223 243 263 283 303 323 343 363 383 4 24 44 64 84 104 124 144 164 184 204 224 244 264 284 304 324 344 364 384 5 25 45 65 85 105 125 145 165 185 205 225 245 265 285 305 325 345 365 385 6 26 46 66 86 106 126 146 166 186 206 226 246 266 286 306 326 346 366 386 7 27 47 67 87 107 127 147 167 187 207 227 247 267 287 307 327 347 367 387 8 28 48 68 88 108 128 148 168 188 208 228 248 268 288 308 328 348 368 388 9 29 49 69 89 109 129 149 169 189 209 229 249 269 289 309 329 349 1 389 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 11 31 51 71 91 111 131 151 171 191 211 231 251 271 291 311 331 351 371 391 12 32 52 72 92 112 132 152 172 192 212 232 252 272 292 312 332 352 372 392 13 33 53 73 93 113 133 153 173 193 213 233 253 273 293 313 333 353 373 393 14 34 54 74 94 114 134 154 174 194 214 234 254 274 294 314 334 354 374 394 15 35 55 75 95 115 135 155 175 195 215 235 255 275 295 315 335 355 375 395 16 36 56 76 96 116 136 156 176 196 216 236 256 276 296 316 336 356 376 396 17 37 57 77 97 117 137 157 177 197 217 237 257 277 297 317 337 357 377 397 18 38 58 78 98 118 138 158 178 198 218 238 258 278 298 318 338 358 378 398 19 39 59 79 99 119 139 159 179 199 219 239 259 279 299 319 339 359 379 399 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 a = 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381 2 22 42 62 82 102 122 142 162 182 202 222 242 262 282 302 322 342 362 382 3 23 43 63 83 103 123 143 163 183 203 223 243 263 283 303 323 343 363 383 4 24 44 64 84 104 124 144 164 184 204 224 244 264 284 304 324 344 364 384 5 25 45 65 85 105 125 145 165 185 205 225 245 265 285 305 325 345 365 385 6 26 46 66 86 106 126 146 166 186 206 226 246 266 286 306 326 346 366 386 7 27 47 67 87 107 127 147 167 187 207 227 247 267 287 307 327 347 367 387 8 28 48 68 88 108 128 148 168 188 208 228 248 268 288 308 328 348 368 388 9 29 49 69 89 109 129 149 169 189 209 229 249 269 289 309 329 349 1 389 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 11 31 51 71 91 111 131 151 171 191 211 231 251 271 291 311 331 351 371 391 12 32 52 72 92 112 132 152 172 192 212 232 252 272 292 312 332 352 372 392 13 33 53 73 93 113 133 153 173 193 213 233 253 273 293 313 333 353 373 393 14 34 54 74 94 114 134 154 174 194 214 234 254 274 294 314 334 354 374 394 15 35 55 75 95 115 135 155 175 195 215 235 255 275 295 315 335 355 375 395 16 36 56 76 96 116 136 156 176 196 216 236 256 276 296 316 336 356 376 396 17 37 57 77 97 117 137 157 177 197 217 237 257 1 297 317 337 357 377 397 18 38 58 78 98 118 138 158 178 198 218 238 258 278 298 318 338 358 378 398 19 39 59 79 99 119 139 159 179 199 219 239 259 279 299 319 339 359 379 399 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 a = 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381 2 22 42 62 82 102 122 142 162 182 202 222 242 262 282 302 322 342 362 382 3 23 43 63 83 103 123 143 163 183 203 223 243 263 283 303 323 343 363 383 4 24 44 64 84 104 124 144 164 184 204 224 244 264 284 304 324 344 364 384 5 25 45 65 85 105 125 145 165 185 205 225 245 265 285 305 325 345 365 385 6 26 46 66 86 106 126 146 166 186 206 226 246 266 286 306 326 346 366 386 7 27 47 67 87 107 127 147 167 187 207 227 247 267 287 307 327 347 367 387 8 28 48 68 88 108 128 148 168 188 208 228 248 268 288 308 328 348 368 388 9 29 49 69 89 109 129 149 169 189 209 229 249 269 289 309 329 349 1 389 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 11 31 51 71 91 111 131 151 171 191 211 231 251 271 291 1 331 351 371 391 12 32 52 72 92 112 132 152 172 192 212 232 252 272 292 312 332 352 372 392 13 33 53 73 93 113 133 153 173 193 213 233 253 273 293 313 333 353 373 393 14 34 54 74 94 114 134 154 174 194 214 234 254 274 294 314 334 354 374 394 15 35 55 75 95 115 135 155 175 195 215 235 255 275 295 315 335 355 375 395 16 36 56 76 96 116 136 156 176 196 216 236 256 276 296 316 336 356 376 396 17 37 57 77 97 117 137 157 177 197 217 237 257 1 297 317 337 357 377 397 18 38 58 78 98 118 138 158 178 198 218 238 258 278 298 318 338 358 378 398 19 39 59 79 99 119 139 159 179 199 219 239 259 279 299 319 339 359 379 399 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 a = 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381 2 22 42 62 82 102 122 142 162 182 202 222 242 262 282 302 322 342 362 382 3 23 43 63 83 103 123 143 163 183 203 223 243 263 283 303 323 343 363 383 4 24 44 64 84 104 124 144 164 184 204 224 244 264 284 304 324 344 364 384 5 25 45 65 85 105 125 145 165 185 205 225 245 265 285 305 325 345 365 385 6 26 46 66 86 106 126 146 166 186 206 226 246 266 286 306 326 346 366 386 7 27 47 67 87 107 127 147 167 187 207 227 247 267 287 307 327 347 367 387 8 28 48 68 88 108 128 148 168 188 208 228 248 268 288 308 328 348 368 388 9 29 49 69 89 109 129 149 169 189 209 229 249 269 289 309 329 349 1 389 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 11 31 51 71 91 111 131 151 171 191 211 231 251 271 291 1 331 351 371 391 12 32 52 72 92 112 132 152 172 192 212 232 252 272 292 312 332 352 372 392 13 33 53 73 93 113 133 153 173 193 213 233 253 273 293 313 333 353 373 393 14 34 54 74 94 114 134 154 174 194 214 234 254 274 294 314 334 354 374 394 15 35 55 75 95 115 135 155 175 195 215 235 255 275 1 315 335 355 375 395 16 36 56 76 96 116 136 156 176 196 216 236 256 276 296 316 336 356 376 396 17 37 57 77 97 117 137 157 177 197 217 237 257 1 297 317 337 357 377 397 18 38 58 78 98 118 138 158 178 198 218 238 258 278 298 318 338 358 378 398 19 39 59 79 99 119 139 159 179 199 219 239 259 279 299 319 339 359 379 399 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 a = 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381 2 22 42 62 82 102 122 142 162 182 202 222 242 262 282 302 322 342 362 382 3 23 43 63 83 103 123 ...

7   Pass
n = 21; m = 1; a = twist_n_match(n,m); [r,c] = size(a); assert(r==n && c==n); assert(isequal(nnz(a==rot90(a)),m));