📄 new
字号:
3734 REL2 EQ 3736 IF -2 3740 LINO 228 3744 CON1:1 3746 RANG2:1 3 3750 CON1:3 3752 RANG2:1 3 3756 CALL:2 2904 3762 LINO 229 3766 CON1:2 3768 RANG2:1 3 3772 CON1:1 3774 RANG2:1 3 3778 CALL:2 2904 3784 LINO 230 3788 CON1:3 3790 RANG2:1 3 3794 CON1:2 3796 RANG2:1 3 3800 CALL:2 2904 3806 TRA -2 patch 3736 72 3810 LINO 233 3814 CON1:2 3816 RANG2:1 3 3820 CON1:1 3822 RANG2:1 3 3826 CALL:2 2904 3832 LINO 234 3836 CON1:3 3838 RANG2:1 3 3842 CON1:2 3844 RANG2:1 3 3848 CALL:2 2904 patch 3806 46 3854 TRA -2 patch 3720 136 3858 LINO 237 3862 RV1:4 -3 3866 CON1:1 3868 REL2 EQ 3870 IF -2 3874 LINO 239 3878 CON1:1 3880 RANG2:1 3 3884 CON1:2 3886 RANG2:1 3 3890 CALL:2 2904 3896 LINO 240 3900 CON1:3 3902 RANG2:1 3 3906 CON1:1 3908 RANG2:1 3 3912 CALL:2 2904 3918 TRA -2 patch 3870 50 3922 LINO 242 3926 CON1:3 3928 RANG2:1 3 3932 CON1:1 3934 RANG2:1 3 3938 CALL:2 2904 patch 3918 24 patch 3854 88 patch 3704 238 3944 LINO 217 3948 RV4:4 -12 3952 LV:4 -13 3956 FOR1U -394 patch 3534 424 3960 END patch 3478 16 245 end; 3962 TRA4 3962 247 procedure correct; 248 var 249 list: array[1..8] of integer; 250 done: Boolean; 251 side: face; 252 counter: integer; 3968 TRA4 3968 254 procedure check; 255 var 256 delux: array[red..white] of integer; 257 kolor: color; 258 counter: integer; 259 begin 260 done := true; 261 for kolor := red to white do 262 for counter := 1 to 4 do 263 delux[kolor] := 0; 264 for counter := 1 to 4 do 265 begin 266 delux[word(datas[counter,side])] := 267 delux[word(datas[counter,side])] + 1; 268 if delux[word(datas[counter,side])] >= 2 then 269 done := false; 270 end; patch 3968 3974 3974 BEG:20 0 3980 CASE4 0 3984 CASE4 1 3988 CASE2 259 3990 "check" 3996 LINO 260 4000 LV:4 -33 4004 CON1:1 4006 RSNG2:1 4008 AS21 4010 LINO 261 4014 LV:6 -28 4018 CON1:1 4020 AS24 4022 LV:6 -32 4026 CON1:4 4028 AS24 4030 RV4:6 -28 4034 RV4:6 -32 4038 REL4 LE 4040 IF -2 4044 LV:6 -33 4048 RV4:6 -32 4052 RANG42:1 4 4056 AS41 4058 LV:6 -33 4062 RV4:6 -28 4066 RANG42:1 4 4070 AS41 4072 LV:6 -17 4076 RV14:6 -33 4080 AS41 4082 LINO 262 4086 LV:6 -40 4090 CON1:1 4092 AS24 4094 LV:6 -44 4098 CON1:4 4100 AS24 4102 RV4:6 -40 4106 RV4:6 -44 4110 REL4 LE 4112 IF -2 4116 LV:6 -48 4120 RV4:6 -44 4124 AS4 4126 LV:6 -48 4130 RV4:6 -40 4134 AS4 4136 LV:6 -24 4140 RV4:6 -48 4144 AS4 4146 LINO 263 4150 LV:6 -16 4154 RV1:6 -33 4158 INX2:4 1 4 4164 CON1 4166 AS24 4168 LINO 262 4172 RV4:6 -44 4176 LV:6 -48 4180 FOR4U:-46 patch 4112 68 4182 LINO 261 4186 RV4:6 -32 4190 LV:6 -33 4194 FOR1U:-124 patch 4040 154 4196 LINO 264 4200 LV:6 -52 4204 CON1:1 4206 AS24 4208 LV:6 -56 4212 CON1:4 4214 AS24 4216 RV4:6 -52 4220 RV4:6 -56 4224 REL4 LE 4226 IF -2 4230 LV:6 -60 4234 RV4:6 -56 4238 AS4 4240 LV:6 -60 4244 RV4:6 -52 4248 AS4 4250 LV:6 -24 4254 RV4:6 -60 4258 AS4 4260 LINO 266 4264 LV:6 -16 4268 PUSH:-4 4270 LV:2 -256 4274 RV4:6 -60 4278 INX4:60 1 4 4284 RV1:4 -34 4288 INX2:10 1 6 4294 IND:10 4296 CALL:1 12 4302 INX2:4 1 4 4308 LV:6 -16 4312 PUSH:-4 4314 LV:2 -256 4318 RV4:6 -60 4322 INX4:60 1 4 4328 RV1:4 -34 4332 INX2:10 1 6 4338 IND:10 4340 CALL:1 12 4346 INX2:4 1 4 4352 IND4 4354 CON1:1 4356 ADD24 4358 AS4 4360 LINO 268 4364 LV:6 -16 4368 PUSH:-4 4370 LV:2 -256 4374 RV4:6 -60 4378 INX4:60 1 4 4384 RV1:4 -34 4388 INX2:10 1 6 4394 IND:10 4396 CALL:1 12 4402 INX2:4 1 4 4408 IND4 4410 CON1:2 4412 REL24 GE 4414 IF -2 4418 LINO 269 4422 LV:4 -33 4426 CON1 4428 RSNG2:1 4430 AS21 patch 4414 16 4432 LINO 264 4436 RV4:6 -56 4440 LV:6 -60 4444 FOR4U -198 patch 4226 220 4448 END patch 3974 60 271 end; 4450 TRA4 4450 273 procedure rotate; 274 var 275 save: alfa; 276 opposite: face; 277 begin 278 if side = back then 279 opposite := front else 280 if side = front then 281 opposite := back else 282 if side = top then 283 opposite := bottom else 284 if side = bottom then 285 opposite := top; 286 save := datas[list[counter], side]; 287 datas[list[counter], side] := datas[list[counter], opposite]; 288 datas[list[counter], opposite] := save; patch 4450 4458 4458 BEG:22 0 4464 CASE4 0 4468 CASE4 1 4472 CASE2 277 4474 "rotate" 4482 LINO 278 4486 RV1:4 -34 4490 CON1:2 4492 REL2 EQ 4494 IF -2 4498 LINO 279 4502 LV:6 -13 4506 CON1:1 4508 RANG2:1 6 4512 AS21 4514 TRA -2 patch 4494 22 4518 LINO 280 4522 RV1:4 -34 4526 CON1:1 4528 REL2 EQ 4530 IF -2 4534 LINO 281 4538 LV:6 -13 4542 CON1:2 4544 RANG2:1 6 4548 AS21 4550 TRA -2 patch 4530 22 4554 LINO 282 4558 RV1:4 -34 4562 CON1:3 4564 REL2 EQ 4566 IF -2 4570 LINO 283 4574 LV:6 -13 4578 CON1:4 4580 RANG2:1 6 4584 AS21 4586 TRA -2 patch 4566 22 4590 LINO 284 4594 RV1:4 -34 4598 CON1:4 4600 REL2 EQ 4602 IF -2 4606 LINO 285 4610 LV:6 -13 4614 CON1:3 4616 RANG2:1 6 4620 AS21 patch 4602 18 patch 4586 34 patch 4550 70 patch 4514 106 4622 LINO 286 4626 LV:6 -12 4630 LV:2 -256 4634 LV:4 -32 4638 RV4:4 -40 4642 INX4:4 1 8 4648 IND4 4650 INX4:60 1 4 4656 RV1:4 -34 4660 INX2:10 1 6 4666 IND:10 4668 AS:10 4670 LINO 287 4674 LV:2 -256 4678 LV:4 -32 4682 RV4:4 -40 4686 INX4:4 1 8 4692 IND4 4694 INX4:60 1 4 4700 RV1:4 -34 4704 INX2:10 1 6 4710 LV:2 -256 4714 LV:4 -32 4718 RV4:4 -40 4722 INX4:4 1 8 4728 IND4 4730 INX4:60 1 4 4736 RV1:6 -13 4740 INX2:10 1 6 4746 IND:10 4748 AS:10 4750 LINO 288 4754 LV:2 -256 4758 LV:4 -32 4762 RV4:4 -40 4766 INX4:4 1 8 4772 IND4 4774 INX4:60 1 4 4780 RV1:6 -13 4784 INX2:10 1 6 4790 RV:6 -12 10 4796 AS:10 4798 END patch 4458 16 289 end; 291 begin 292 list[1] := 4; 293 list[2] := 3; 294 list[3] := 4; 295 list[4] := 2; 296 list[5] := 4; 297 list[6] := 3; 298 list[7] := 4; 299 list[8] := 3; 300 for side := back to top do 301 begin 302 counter := 0; 303 check; 304 while not done do 305 begin 306 counter := counter + 1; 307 rotate; 308 check; 309 end; 310 end patch 3962 4802 4802 BEG:22 0 4808 CASE4 0 4812 CASE4 1 4816 CASE2 291 4818 "correct" 4826 LINO 292 4830 LV:4 -32 4834 CON1:4 4836 AS24 4838 LINO 293 4842 LV:4 -32 4846 CON1:4 4848 ADD24 4850 CON1:3 4852 AS24 4854 LINO 294 4858 LV:4 -32 4862 CON1:8 4864 ADD24 4866 CON1:4 4868 AS24 4870 LINO 295 4874 LV:4 -32 4878 CON1:12 4880 ADD24 4882 CON1:2 4884 AS24 4886 LINO 296 4890 LV:4 -32 4894 CON1:16 4896 ADD24 4898 CON1:4 4900 AS24 4902 LINO 297 4906 LV:4 -32 4910 CON1:20 4912 ADD24 4914 CON1:3 4916 AS24 4918 LINO 298 4922 LV:4 -32 4926 CON1:24 4928 ADD24 4930 CON1:4 4932 AS24 4934 LINO 299 4938 LV:4 -32 4942 CON1:28 4944 ADD24 4946 CON1:3 4948 AS24 4950 LINO 300 4954 LV:4 -44 4958 CON1:2 4960 AS24 4962 LV:4 -48 4966 CON1:3 4968 AS24 4970 RV4:4 -44 4974 RV4:4 -48 4978 REL4 LE 4980 IF -2 4984 LV:4 -49 4988 RV4:4 -48 4992 RANG42:1 6 4996 AS41 4998 LV:4 -49 5002 RV4:4 -44 5006 RANG42:1 6 5010 AS41 5012 LV:4 -34 5016 RV14:4 -49 5020 AS41 5022 LINO 302 5026 LV:4 -40 5030 CON1 5032 AS24 5034 LINO 303 5038 CALL:2 3968 5044 LINO 304 5048 RV1:4 -33 5052 NOT 5054 IF -2 5058 LINO 306 5062 LV:4 -40 5066 RV4:4 -40 5070 CON1:1 5072 ADD24 5074 AS4 5076 LINO 307 5080 CALL:2 4450 5086 LINO 308 5090 CALL:2 3968 5096 TRA -54 patch 5054 44 5100 LINO 300 5104 RV4:4 -48 5108 LV:4 -49 5112 FOR1U:-102 patch 4980 132 5114 END patch 4802 52 311 end; 5116 TRA4 5116 313 procedure printout; 314 var 315 space: integer; 316 cube: integer; 317 side: face; 318 begin 319 if nosolutions then 320 writeln('no solutions') else 321 begin 322 writeln('solution to instant insanity'); 323 for cube := 1 to 4 do 324 begin 325 write(cube, ' '); 326 for side := front to bottom do 327 write(datas[cube, side]); 328 writeln; 329 end; 330 end; patch 5116 5122 5122 BEG:24 0 5128 CASE4 0 5132 CASE4 1 5136 CASE2 318 5138 "printout" 5148 LINO 319 5152 RV1:2 -1 5156 IF -2 5160 LINO 320 5164 UNITOUT 5166 FILE 5168 CON14:1 5170 CON14:12 5172 LVCON:14 5174 "no solutions" 5188 WRITES:16 5190 WRITLN 5192 TRA -2 patch 5156 38 5196 LINO 322 5200 UNITOUT 5202 FILE 5204 CON14:1 5206 CON14:28 5208 LVCON:30 5210 "solution to instant insanity" 5240 WRITES:16 5242 WRITLN 5244 LINO 323 5248 LV:4 -16 5252 CON1:1 5254 AS24 5256 LV:4 -20 5260 CON1:4 5262 AS24 5264 RV4:4 -16 5268 RV4:4 -20 5272 REL4 LE 5274 IF -2 5278 LV:4 -24 5282 RV4:4 -20 5286 AS4 5288 LV:4 -24 5292 RV4:4 -16 5296 AS4 5298 LV:4 -8 5302 RV4:4 -24 5306 AS4 5308 LINO 325 5312 UNITOUT 5314 RV4:4 -24 5318 LVCON:6 5320 "%10D" 5326 FILE 5328 WRITEF:12 5330 FILE 5332 CON14:1 5334 CON14:3 5336 LVCON:4 5338 " " 5342 WRITES:16 5344 LINO 326 5348 LV:4 -28 5352 CON1:1 5354 AS24 5356 LV:4 -32 5360 CON1:4 5362 AS24 5364 RV4:4 -28 5368 RV4:4 -32 5372 REL4 LE 5374 IF -2 5378 LV:4 -33 5382 RV4:4 -32 5386 RANG42:1 6 5390 AS41 5392 LV:4 -33 5396 RV4:4 -28 5400 RANG42:1 6 5404 AS41 5406 LV:4 -9 5410 RV14:4 -33 5414 AS41 5416 LINO 327 5420 UNITOUT 5422 FILE 5424 CON14:1 5426 CON14:10 5428 LV:2 -256 5432 RV4:4 -24 5436 INX4:60 1 4 5442 RV1:4 -33 5446 INX2:10 1 6 5452 WRITES:16 5454 LINO 326 5458 RV4:4 -32 5462 LV:4 -33 5466 FOR1U:-62 patch 5374 92 5468 LINO 328 5472 UNITOUT 5474 WRITLN 5476 LINO 323 5480 RV4:4 -20 5484 LV:4 -24 5488 FOR4U -194 patch 5274 216 patch 5192 298 331 end;In procedure printout: w - variable space is neither used nor set 5492 END patch 5122 36 333 begin 334 reset(input); 335 readin; 336 sumcolors; 337 find2222; 338 simultaneous; 339 rearrange; 340 correct; 341 1: 342 printout; patch 0 5494 5494 BEG:22 0 5500 CASE4 0 5504 CASE4 1 5508 CASE2 333 5510 "insane" 5518 LINO 334 5522 CON14 5524 CON14 5526 CON4 0 5532 RV4 -8 5536 RESET 5538 LINO 335 5542 CALL:1 200 5548 LINO 336 5552 CALL:1 620 5558 LINO 337 5562 CALL:1 1456 5568 LINO 338 5572 CALL:1 2474 5578 LINO 339 5582 CALL:1 2898 5588 LINO 340 5592 CALL:1 3962 patch 6 5598 5598 LINO 342 5602 CALL:1 5116 343 end.In program insane: w - constant notaface is never used w - type metacolor is never used w - constant notacolor is never used w - type metapair is never used w - type metaface is never used w - constant notapair is never used 5608 END patch 5494 568 344 { 345 wbggrb 346 wbrgrr 347 wbgwrg 348 wrgwbr 349 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -