PHP Code:
function onCreated()
{
temp.start = timevar2;
temp.incompatible = {
{ 1, 2 },
{ 3, 4 },
{ 5, 6 },
{ 6, 7 }
};
temp.chosen = null;
temp.sets = null;
for ( temp.i = 0; i < 100; i ++ )
{
temp.moveOn = false;
while ( ! moveOn )
{
temp.person1 = int( random( 0, 400 ) );
temp.person2 = int( random( 0, 400 ) );
if ( chosen.index( @ person1 ) != -1 || chosen.index( @ person2 ) != -1 || person1 == person2 )
{
continue;
}
for ( temp.a : incompatible )
{
if ( ( a[0] == person1 && a[1] == person2 ) || ( a[0] == person2 || a[1] == person1 ) )
{
// Incompatible
continue;
}
}
chosen.add( person1 );
chosen.add( person2 );
sets.add( { person1, person2 } );
moveOn = true;
}
}
for ( temp.set : sets )
{
echo( "Set:" SPC set[0] SPC "and" SPC set[1] );
}
echo( "Time taken:" SPC timevar2 - start SPC "seconds." );
}
I made it as inefficient as possible. It's rather fun to make inefficient code
.
I don't know why.
PHP Code:
Set: 59 and 119
Set: 166 and 136
Set: 279 and 156
Set: 131 and 142
Set: 195 and 397
Set: 364 and 340
Set: 314 and 382
Set: 326 and 216
Set: 352 and 140
Set: 366 and 139
Set: 12 and 32
Set: 104 and 21
Set: 92 and 75
Set: 307 and 68
Set: 271 and 367
Set: 187 and 38
Set: 103 and 66
Set: 194 and 235
Set: 209 and 390
Set: 232 and 174
Set: 331 and 147
Set: 363 and 109
Set: 398 and 329
Set: 249 and 11
Set: 362 and 354
Set: 29 and 312
Set: 170 and 337
Set: 380 and 42
Set: 304 and 167
Set: 80 and 8
Set: 234 and 275
Set: 244 and 44
Set: 265 and 76
Set: 218 and 197
Set: 224 and 375
Set: 55 and 188
Set: 84 and 54
Set: 118 and 334
Set: 288 and 98
Set: 135 and 318
Set: 10 and 305
Set: 347 and 160
Set: 158 and 28
Set: 169 and 393
Set: 303 and 13
Set: 90 and 255
Set: 230 and 22
Set: 302 and 138
Set: 240 and 37
Set: 57 and 251
Set: 343 and 313
Set: 242 and 291
Set: 73 and 0
Set: 319 and 243
Set: 394 and 223
Set: 256 and 31
Set: 392 and 346
Set: 287 and 359
Set: 261 and 117
Set: 33 and 58
Set: 186 and 283
Set: 201 and 88
Set: 126 and 78
Set: 293 and 69
Set: 360 and 65
Set: 309 and 130
Set: 162 and 95
Set: 112 and 49
Set: 339 and 200
Set: 214 and 106
Set: 184 and 231
Set: 47 and 105
Set: 15 and 237
Set: 133 and 282
Set: 205 and 72
Set: 207 and 61
Set: 146 and 125
Set: 381 and 257
Set: 64 and 149
Set: 128 and 268
Set: 324 and 322
Set: 2 and 122
Set: 226 and 46
Set: 306 and 51
Set: 178 and 35
Set: 248 and 185
Set: 369 and 155
Set: 43 and 145
Set: 183 and 311
Set: 91 and 353
Set: 14 and 115
Set: 157 and 358
Set: 213 and 171
Set: 289 and 350
Set: 290 and 286
Set: 87 and 388
Set: 217 and 159
Set: 294 and 357
Set: 148 and 24
Set: 374 and 1
Time taken: 0.008700847 seconds.