Cody

# Problem 738. Criss_Cross_010 : Unique elements, Square array, Words in one array

Solution 195832

Submitted on 23 Jan 2013 by Alfonso Nieto-Castanon
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
%% format long format compact seed=clock; seed=1000*seed(6); rng(seed); n=4; % Create a Unique element square array M=randperm(n*n); M=reshape(M,n,n) vr=M(1:n,:); vc=M(:,1:n); w=[vr;vc']; w=sortrows(w); M_out=Criss_Cross(w) assert(isequal(M,M_out)||isequal(M',M_out));

```M = 3 1 5 14 11 8 9 7 2 16 10 4 6 13 12 15 idx = 7 3 11 15 5 1 9 13 8 4 12 16 6 2 10 14 M_out = 3 1 5 14 11 8 9 7 2 16 10 4 6 13 12 15 ```

2   Pass
%% seed=clock; seed=1000*seed(6); rng(seed); n=8; % Create a Unique element square array M=randperm(n*n); M=reshape(M,n,n) vr=M(1:n,:); vc=M(:,1:n); w=[vr;vc']; w=sortrows(w); M_out=Criss_Cross(w) assert(isequal(M,M_out)||isequal(M',M_out));

```M = 41 27 14 31 47 53 30 4 29 22 24 21 32 40 42 46 25 1 51 9 5 34 3 28 17 37 45 64 11 16 15 26 56 59 44 62 18 33 55 61 36 8 39 13 38 35 7 58 54 48 43 49 57 60 10 20 52 2 6 50 12 19 63 23 idx = 44 20 12 36 52 60 28 4 43 19 11 35 51 59 27 3 42 18 10 34 50 58 26 2 46 22 14 38 54 62 30 6 41 17 9 33 49 57 25 1 48 24 16 40 56 64 32 8 47 23 15 39 55 63 31 7 45 21 13 37 53 61 29 5 M_out = 41 27 14 31 47 53 30 4 29 22 24 21 32 40 42 46 25 1 51 9 5 34 3 28 17 37 45 64 11 16 15 26 56 59 44 62 18 33 55 61 36 8 39 13 38 35 7 58 54 48 43 49 57 60 10 20 52 2 6 50 12 19 63 23 ```

3   Pass
%% seed=clock; seed=1000*seed(6); rng(seed); n=16; % Create a Unique element square array M=randperm(n*n); M=reshape(M,n,n); vr=M(1:n,:); vc=M(:,1:n); w=[vr;vc']; w=sortrows(w); tic M_out=Criss_Cross(w); toc assert(isequal(M,M_out)||isequal(M',M_out));

```idx = 138 90 154 122 218 74 170 26 234 58 250 10 186 202 106 42 139 91 155 123 219 75 171 27 235 59 251 11 187 203 107 43 135 87 151 119 215 71 167 23 231 55 247 7 183 199 103 39 141 93 157 125 221 77 173 29 237 61 253 13 189 205 109 45 144 96 160 128 224 80 176 32 240 64 256 16 192 208 112 48 142 94 158 126 222 78 174 30 238 62 254 14 190 206 110 46 130 82 146 114 210 66 162 18 226 50 242 2 178 194 98 34 136 88 152 120 216 72 168 24 232 56 248 8 184 200 104 40 133 85 149 117 213 69 165 21 229 53 245 5 181 197 101 37 129 81 145 113 209 65 161 17 225 49 241 1 177 193 97 33 140 92 156 124 220 76 172 28 236 60 252 12 188 204 108 44 131 83 147 115 211 67 163 19 227 51 243 3 179 195 99 35 132 84 148 116 212 68 164 20 228 52 244 4 180 196 100 36 143 95 159 127 223 79 175 31 239 63 255 15 191 207 111 47 137 89 153 121 217 73 169 25 233 57 249 9 185 201 105 41 134 86 150 118 214 70 166 22 230 54 246 6 182 198 102 38 Elapsed time is 0.001209 seconds. ```

4   Pass
%% seed=clock; seed=1000*seed(6); rng(seed); n=16; % Create a Unique element square array M=randperm(n*n); M=reshape(M,n,n); vr=M(1:n,:); vc=M(:,1:n); w=[vr;vc']; w=sortrows(w); tic M_out=Criss_Cross(w); toc assert(isequal(M,M_out)||isequal(M',M_out));

```idx = 216 200 152 168 248 232 56 136 104 40 120 184 8 24 72 88 215 199 151 167 247 231 55 135 103 39 119 183 7 23 71 87 222 206 158 174 254 238 62 142 110 46 126 190 14 30 78 94 219 203 155 171 251 235 59 139 107 43 123 187 11 27 75 91 211 195 147 163 243 227 51 131 99 35 115 179 3 19 67 83 218 202 154 170 250 234 58 138 106 42 122 186 10 26 74 90 213 197 149 165 245 229 53 133 101 37 117 181 5 21 69 85 224 208 160 176 256 240 64 144 112 48 128 192 16 32 80 96 212 196 148 164 244 228 52 132 100 36 116 180 4 20 68 84 210 194 146 162 242 226 50 130 98 34 114 178 2 18 66 82 223 207 159 175 255 239 63 143 111 47 127 191 15 31 79 95 214 198 150 166 246 230 54 134 102 38 118 182 6 22 70 86 209 193 145 161 241 225 49 129 97 33 113 177 1 17 65 81 220 204 156 172 252 236 60 140 108 44 124 188 12 28 76 92 217 201 153 169 249 233 57 137 105 41 121 185 9 25 73 89 221 205 157 173 253 237 61 141 109 45 125 189 13 29 77 93 Elapsed time is 0.001156 seconds. ```

5   Pass
%% n=256; % Create a Unique element square array M=randperm(n*n); M=reshape(M,n,n); vr=M(1:n,:); vc=M(:,1:n); w=[vr;vc']; w=sortrows(w); tic M_out=Criss_Cross(w); toc assert(isequal(M,M_out)||isequal(M',M_out));

```idx = Columns 1 through 8 56142 26190 61006 14158 1614 24142 42318 48718 56177 26225 61041 14193 1649 24177 42353 48753 56300 26348 61164 14316 1772 24300 42476 48876 56101 26149 60965 14117 1573 24101 42277 48677 56240 26288 61104 14256 1712 24240 42416 48816 56147 26195 61011 14163 1619 24147 42323 48723 56235 26283 61099 14251 1707 24235 42411 48811 56093 26141 60957 14109 1565 24093 42269 48669 56225 26273 61089 14241 1697 24225 42401 48801 56135 26183 60999 14151 1607 24135 42311 48711 56303 26351 61167 14319 1775 24303 42479 48879 56265 26313 61129 14281 1737 24265 42441 48841 56085 26133 60949 14101 1557 24085 42261 48661 56271 26319 61135 14287 1743 24271 42447 48847 56279 26327 61143 14295 1751 24279 42455 48855 56106 26154 60970 14122 1578 24106 42282 48682 56198 26246 61062 14214 1670 24198 42374 48774 56208 26256 61072 14224 1680 24208 42384 48784 56143 26191 61007 14159 1615 24143 42319 48719 56255 26303 61119 14271 1727 24255 42431 48831 56293 26341 61157 14309 1765 24293 42469 48869 56207 26255 61071 14223 1679 24207 42383 48783 56083 26131 60947 14099 1555 24083 42259 48659 56114 26162 60978 14130 1586 24114 42290 48690 56197 26245 61061 14213 1669 24197 42373 48773 56127 26175 60991 14143 1599 24127 42303 48703 56313 26361 61177 14329 1785 24313 42489 48889 56243 26291 61107 14259 1715 24243 42419 48819 56078 26126 60942 14094 1550 24078 42254 48654 56171 26219 61035 14187 1643 24171 42347 48747 56274 26322 61138 14290 1746 24274 42450 48850 56115 26163 60979 14131 1587 24115 42291 48691 56310 26358 61174 14326 1782 24310 42486 48886 56200 26248 61064 14216 1672 24200 42376 48776 56294 26342 61158 14310 1766 24294 42470 48870 56167 26215 61031 14183 1639 24167 42343 48743 56237 26285 61101 14253 1709 24237 42413 48813 56155 26203 61019 14171 1627 24155 42331 48731 56295 26343 61159 14311 1767 24295 42471 48871 56146 26194 61010 14162 1618 24146 42322 48722 56223 26271 61087 14239 1695 24223 42399 48799 56320 26368 61184 14336 1792 24320 42496 48896 56092 26140 60956 14108 1564 24092 42268 48668 56210 26258 61074 14226 1682 24210 42386 48786 56140 26188 61004 14156 1612 24140 42316 48716 56141 26189 61005 14157 1613 24141 42317 48717 56166 26214 61030 14182 1638 24166 42342 48742 56066 26114 60930 14082 1538 24066 42242 48642 56204 26252 61068 14220 1676 24204 42380 48780 56191 26239 61055 14207 1663 24191 42367 48767 56305 26353 61169 14321 1777 24305 42481 48881 56129 26177 60993 14145 1601 24129 42305 48705 56298 26346 61162 14314 1770 24298 42474 48874 56103 26151 60967 14119 1575 24103 42279 48679 56180 26228 61044 14196 1652 24180 42356 48756 56224 26272 61088 14240 1696 24224 42400 48800 56110 26158 60974 14126 1582 24110 42286 48686 56156 26204 61020 14172 1628 24156 42332 48732 56173 26221 61037 14189 1645 24173 42349 48749 56134 26182 60998 14150 1606 24134 42310 48710 56280 26328 61144 14296 1752 24280 42456 48856 56176 26224 61040 14192 1648 24176 42352 48752 56099 26147 60963 14115 1571 24099 42275 48675 56232 26280 61096 14248 1704 24232 42408 48808 56284 26332 61148 14300 1756 24284 42460 48860 56130 26178 60994 14146 1602 24130 42306 48706 56270 26318 61134 14286 1742 24270 42446 48846 56157 26205 61021 14173 1629 24157 42333 48733 56079 26127 60943 14095 1551 24079 42255 48655 56199 26247 61063 14215 1671 24199 42375 48775 56183 26231 61047 14199 1655 24183 42359 48759 56194 26242 61058 14210 1666 24194 42370 48770 56276 26324 61140 14292 1748 24276 42452 48852 56161 26209 61025 14177 1633 24161 42337 48737 56216 26264 61080 14232 1688 24216 42392 48792 56070 26118 60934 14086 1542 24070 42246 48646 56273 26321 61137 14289 1745 24273 42449 48849 56316 26364 61180 14332 1788 24316 42492 48892 56075 26123 60939 14091 1547 24075 42251 48651 56175 26223 61039 14191 1647 24175 42351 48751 56227 26275 61091 14243 1699 24227 42403 48803 56267 26315 61131 14283 1739 24267 42443 48843 56263 26311 61127 14279 1735 24263 42439 48839 56230 26278 61094 14246 1702 24230 42406 48806 56182 26230 61046 14198 1654 24182 42358 48758 56102 26150 60966 14118 1574 24102 42278 48678 56137 26185 61001 14153 1609 24137 42313 48713 56299 26347 61163 14315 1771 24299 42475 48875 56148 26196 61012 14164 1620 24148 42324 48724 56192 26240 61056 14208 1664 24192 42368 48768 56236 26284 61100 14252 1708 24236 42412 48812 56165 26213 61029 14181 1637 24165 42341 48741 56067 26115 60931 14083 1539 24067 42243 48643 56219 26267 61083 14235 1691 24219 42395 48795 56228 26276 61092 14244 1700 24228 42404 48804 56253 26301 61117 14269 1725 24253 42429 48829 56291 26339 61155 14307 1763 24291 42467 48867 56138 26186 61002 14154 1610 24138 42314 48714 56082 26130 60946 14098 1554 24082 42258 48658 56221 26269 61085 14237 1693 24221 42397 48797 56105 26153 60969 14121 1577 24105 42281 48681 56312 26360 61176 14328 1784 24312 42488 48888 56289 26337 61153 14305 1761 24289 ...```