XOR mã hóa chương trình của bạn bằng nguồn của các chương trình khác


24

Viết hai chương trình sao cho khi các byte của mã nguồn của chúng là XOR-d cùng nhau, nó tạo ra một chương trình hợp lệ thứ ba, tất cả trong cùng một ngôn ngữ. Độ dài của mỗi trong ba chương trình tính bằng byte phải giống hệt nhau.

Chương trình đầu tiên nên xuất ra A. Chương trình thứ hai nên xuất ra B. Chương trình thứ ba nên xuất ra C.

Một dòng mới là tùy chọn, nhưng nếu một đầu ra một dòng mới, cả hai dòng khác cũng phải.

Nếu bạn sử dụng bất kỳ cờ dòng lệnh nào, bạn phải cùng một cờ cho mỗi chương trình, tức là cả ba chương trình phải được thực hiện theo cùng một cách. Nếu bạn đang sử dụng một ngôn ngữ như PHP mà theo truyền thống bắt đầu với cùng một tổ hợp các ký tự, ví dụ: <?nhưng có một tùy chọn dòng lệnh loại bỏ các ký tự mà bạn có thể sử dụng thay vào đó, tức là PHP chỉ phải được chạy từ dòng lệnh.

Không có đầu vào được cho phép. Mỗi chương trình phải được khép kín.

Nếu chương trình của bạn được viết hoàn toàn bằng ASCII, các bảng sau có thể giúp:

Codes 0x20 - 0x3F
 !"#$%&'()*+,-./
0123456789:;<=>?

Codes 0x40 - 0x5F
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_

Codes 0x60 - 0x7E
`abcdefghijklmno
pqrstuvwxyz{|}~

CHỈNH SỬA

Sử dụng các ký tự không in được cho phép vì ban đầu tôi không cấm nó. Tuy nhiên, nếu bạn muốn đăng một phiên bản chỉ sử dụng các ký tự có thể in cũng sẽ rất tuyệt! (Điểm nào là ngắn nhất.) "Yếu tố thông minh" của việc sử dụng mã kiểm soát đã phần nào bị mất đi ...

EDIT KẾT THÚC

XOR-ing bất kỳ hai mã từ cùng một khối sẽ tạo ra mã nhỏ hơn 0x20, do đó không phải là mã ASCII có thể in hợp lệ, ví dụ 0x41 ( A) XOR 0x5A ( Z) = 0x1B. XOR-ing bất kỳ hai mã từ các khối khác nhau sẽ tạo ra một mã từ khối thứ ba, ví dụ 0x61 ( a) XOR 0x54 ( T) = 0x35 ( 5).

    |  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_
--- + --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
 @` |  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_
!Aa | !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~
"Bb | "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]}
#Cc | #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\|
$Dd | $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{
%Ee | %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz
&Ff | &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy
'Gg | 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @` /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx
(Hh | (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_ 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww
)Ii | )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~ 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv
*Jj | *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]} 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu
+Kk | +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\| 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt
,Ll | ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{ 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss
-Mm | -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr
.Nn | .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq
/Oo | /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @` ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp
0Pp | 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo
1Qq | 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~ !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn
2Rr | 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]} "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm
3Ss | 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\| #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll
4Tt | 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{ $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk
5Uu | 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj
6Vv | 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii
7Ww | 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @` /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh
8Xx | 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_ 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg
9Yy | 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~ 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff
:Zz | :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]} 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee
;[{ | ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\| 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd
<\| | <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{ 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc
=]} | =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb
>^~ | >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa
?_ | ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @`

Tra cứu hai nhân vật từ các cột khác nhau và chọn các ký tự từ ngã tư của họ đó là trong cột khác, ví dụ Be: "BbXOR %Ee'Gg. Blà cột thứ hai và elà cột thứ ba, vì vậy hãy chọn ký tự từ cột đầu tiên trong 'Gg: '.

Nguồn ví dụ:

 Ld+|?dpHs'-,pUe    (Program 1)
~bWn=n5Xe!t_G($3    (Program 2)
^.3EAQQ(-RSrkXqV    (Program 3)

Lưu ý rằng trong mỗi cột chỉ có thể có một chữ số, một chữ cái viết hoa và một chữ cái viết thường. Đối với mỗi cột, bạn có thể sử dụng bất kỳ ký tự nào bạn thích trong chương trình đầu tiên, sau đó bạn chọn 64 ký tự trong chương trình thứ hai nhưng chỉ có một ký tự có thể có trong chương trình thứ ba. 0x7F không hợp lệ ở bất cứ đâu.

Nếu bạn sử dụng Unicode, tùy thuộc vào bạn để xác thực XOR-ing và bạn phải cho biết cách mã hóa, ví dụ UTF-8, UTF-16, v.v. Mỗi tệp phải sử dụng cùng một mã hóa.

Điểm: Độ dài của một chương trình. Ít byte nhất giành chiến thắng!

Câu trả lời:


13

GolfScript, 6 byte

Một

A'AA'|

B

cdc"B"

C

"C"ce^

|^được setwise hoặc và xor với chuỗi đầu vào trống, sẽ không làm gì ngoài việc loại bỏ các bản sao trong chuỗi.

Phiên bản gốc (có ký tự không in được)

Một

Xz'A'v

B

z9\x05"B"

C

"C"ceT

GolfScript bỏ qua những điều không xác định, và ba chương trình chỉ là 'A' "B" "C".


12

Javascript, 23 byte

Chương trình A:

alert(' A '[~-~~2],'B')

Chương trình B:

alert(FL$RSsYnYW1f='B')

Chương trình C:

\0\0\0\0\0\0alert('C')\0;\0\0\03\0\0

Bạn có thể kiểm tra chuyển đổi với chức năng sau:

function xorString(a, b) {
  b = b || '';
  var length = Math.max(a.length, b.length);
  var chars = a.split('').map(function(charA, i) {
    var charB = b[i] || ' ';
    return String.fromCharCode(charA.charCodeAt(0) ^ charB.charCodeAt(0));
  });

  return chars.join('');
}

Đẹp một !!! Bạn có thể bao gồm một ngăn xếp hiển thị điều này.
Ismael Miguel

3

PHP, 15 + 1 byte

Cái này là dễ dàng THẬT SỰ khó hơn mong đợi, nhưng vui!
Đáng buồn thay, đây là lần viết lại thứ 3 do câu trả lời không hợp lệ.

Lần này, nó có nghĩa là chạy trong bàn điều khiển (sử dụng tham số -r).

Chương trình A:

echo A;E925Z9A;

Chương trình B:

echo B; zzzzzz;

Kết quả của XORing:

\0\0\0\0\0\3\0eCHO C;\0 //base 64: AAAAAAADAGVDSE8gQzsA

Đổ lục giác:

   |00|01|02|03|04|05|06|07|08|09|0A|0B|0C|0D|0E|0F|      TEXT      
--------------------------------------------------------------------
00 |00|00|00|00|00|03|00|65|43|48|4F|20|43|3B|00|  |.......eCHO C;.
====================================================================

PHP sẽ đưa ra các cảnh báo về việc có \0\3ký tự trước tiếng vang, nhưng đó là điều không thể biết được.
Đó chỉ là cảnh báo!
Nó vẫn chạy và đưa ra câu trả lời đúng!


Hãy thử chạy nó, trong bảng điều khiển của bạn:

php -r "@eval('echo B; zzzzzz;' ^ 'echo A;E925Z9A;');"

Nếu bạn không thể, hãy thử một trong những điều sau:

Nếu bạn vẫn không thể, hãy tự chạy mã:

<?php

error_reporting( 0 );

$program_a = 'echo A;E925Z9A;';

$program_b = 'echo B; zzzzzz;';

eval( $program_a );

eval( $program_b );

eval( $program_c = $program_a ^ $program_b );

echo PHP_EOL, 'a ^ b = ';

var_dump( $program_c );

Mã cũ, không hợp lệ:

Chương trình A:

<?=A;zzzzz;

Chương trình B:

<?=B;FEG9A;

Kết quả của XORing:

\0\0\0\0<?=C;\0 //base64: AAAAAwA8Pz1DOwA=

Tôi thực sự không thể gõ \x00vào bảng điều khiển của mình nhưng thay thế chúng bằng \x03các tác phẩm và \x00trong chính PHP trên máy chủ của tôi vẫn chạy nên tôi cho rằng câu trả lời của bạn là hợp lệ ngay bây giờ! Tôi cũng đã phải sử dụng một cờ để loại bỏ tất cả các lỗi: php -d error_reporting=0 -r "^C^C^C^C^C^CeCHO C;^C"Đầu ra C. Chuyển hướng stderr ( 2>trong Windows) đã không khắc phục tất cả các lỗi từ đầu ra.
CJ Dennis

Chương trình của bạn trong bảng điều khiển Windows: "♥ eCHO C;"!
CJ Dennis

@CJDennis Cảnh báo luôn bị coi thường. Nếu đó là một lỗi nghiêm trọng, nó sẽ là tồi tệ nhất. Nhưng tôi thấy thật kỳ lạ khi nó xuất ra điều đó, khi XORing. Nhưng có lẽ đó là vì \3ở đó, điều đó thể hiện như câu lạc bộ trái tim. Nhưng bạn có muốn tôi thêm -dcờ vào số đếm không?
Ismael Miguel

Vì bạn không đánh bại mã GolfScript, đừng lo lắng về nó. Nếu bạn tìm thấy một phiên bản 6 byte thì tôi sẽ phải xem xét lại! Nhưng tôi đã phải làm việc rất chăm chỉ mà không cấu hình lại tệp php.ini của mình để làm cho nó hoạt động sạch sẽ! Tôi thích cách Windows biến \x03trái tim! Windows ♥ PHP!
CJ Dennis

1
Có, @quản lý để ngăn chặn tất cả các lỗi!
CJ Dennis

3

Pip, 4 byte

Vì user23013 đang sử dụng ASCII không in trong GolfScript, tôi cho rằng tôi có thể làm tương tự trong Pip . Nó đòi hỏi phải chuyển hướng stderr, nhưng không sao , phải không?

Một

??'A

trong đó hai ?s đại diện cho ký tự ASCII 0.

B

'C'B

C

'C??

trong đó hai ?s tương ứng là các ký tự ASCII 0 và 3.

Đặt mỗi chương trình trong một tập tin ( A.pipví dụ). Trên Linux, làm:

./pip.py A.pip 2>/dev/null

Trên Windows:

pip.py A.pip 2>nul

Nếu đầu ra lỗi là verboten, đây là giải pháp 5 byte trong ASCII có thể in:

pAa'A
 f"B"
P'Cec

Có, cả chuyển hướng stderr (xấu như nó là!) Và sử dụng các ký tự không in được cho phép. Tuy nhiên, tôi đánh giá cao việc bạn đăng một phiên bản hoàn toàn có thể in được!
CJ Dennis

2

Kính hiển vi , mỗi 8 byte

A: 'APhgap)

B: 'BPh@" A

C: <0><3><0><0>'CPh


Tôi đã không nhận ra rất nhiều ngôn ngữ rất dễ tha thứ với mã kiểm soát trong nguồn. Hãy xem các câu trả lời khác, một số trong đó sử dụng mã không in. Cảm thấy tự do để làm như vậy!
CJ Dennis

Tôi nghĩ rằng nó nói không sử dụng ASCII không in, nhưng tôi có thể sai. EDIT: Và bây giờ tôi thấy rằng bạn đã thay đổi nó. Được rồi, tôi sẽ xem những gì tôi có thể làm.
SuperJedi224

1
Có nên như <0><3><0><0>...vậy không?
CJ Dennis

Bạn đúng. Cảm ơn bạn đã chỉ ra rằng.
SuperJedi224

2

Con trăn 19 15 14 byte

a.py

00000000  70 72 69 6e 00 28 32 50  69 0a 74 22 41 22        |prin.(2Pi.t"A"|

b.py

00000000  70 72 69 6e 74 22 42 22  00 64 00 00 02 00        |print"B".d....|

c.py

00000000  00 00 00 00 74 0a 70 72  69 6e 74 22 43 22        |....t.print"C"|

Tôi đã nghĩ ra giải pháp này khi nhận thấy con trăn (2.7.6 trên Ubuntu 14.04) sau khi thấy một ký tự NUL sẽ bỏ qua phần còn lại của dòng đó.

Rút ngắn thêm 1 byte khi tôi nhận ra rằng không gian sau khi in là không cần thiết. Và rút ngắn thêm 4 byte nữa khi tôi nhận ra rằng ký tự NUL cũng khiến dòng mới bị bỏ qua để tôi có thể sử dụng nó để ngắt dòng ở giữa từ khóa.


0

Chip , 8 byte

Tất cả đều yêu cầu cờ -w.

Chương trình A

a*gt*...

( .là ký tự null \x00)

Chương trình B

...*gb*t

( .là ký tự null \x00)

Chương trình C

a*g^Mb*t

Cả A và B đều tạo ra ba cảnh báo cho nhau (ví dụ: 1:6 WARN: '' (0) is not a valid character :), nhưng chúng có thể được bỏ qua một cách an toàn kể từ khi chúng đi đến stderr. Các yếu tố ^Mhợp lệ, nhưng không làm gì ở đây.

Tôi khá chắc chắn rằng đây là điều tốt nhất có thể được thực hiện với các bản in không được phép. Tôi không chắc bằng chứng này đã hoàn tất, nhưng ở đây:

Một đòi hỏi a, g, t, và một số cách để kích hoạt các yếu tố (tối thiểu là hai biểu tượng là cần thiết cho điều này, và *là lựa chọn đơn giản nhất ở đây). Tương tự,
B đòi hỏi b, g, t, và hai *s, và
C đòi hỏi a, b, g, t, và hai* s.

Nếu C mượn các ký hiệu của nó trực tiếp từ A và B, sẽ có hai chữ cái và hai chữ cái *không được yêu cầu. (Trong triển khai của tôi, A tvà B g). Bốn yếu tố này có thể được chồng lên nhau để chúng được đọc trong C (sản xuất ^Mtrong trường hợp này). Bây giờ chúng ta có hai phần tử được xử lý, cộng với sáu phần tử bắt buộc ở trên (C yêu cầu 6, phần tử còn lại chỉ có 5, nhưng chúng ta cần max () ở đây), cho tổng số 8 phần tử.


Chip (không có cảnh báo), 10 byte

Tất cả đều yêu cầu cờ -wo.

Chương trình A

a*HH^t*Gg 

(có một không gian dấu)

Chương trình B

KKb*t*^g G

Chương trình C

*a*b*^t Gg

Đây có thể là điều tốt nhất chúng ta có thể làm trong ASCII có thể in được, như sau: Ba chương trình, kết hợp lại, cần tổng cộng 2 agiây, 2 bgiây, 3 ggiây và 3 tgiây. Vì không ai trong số các nhân vật này có thể chuyển sang người khác, chúng tôi cần 2+2+3+3 = 10các vị trí riêng biệt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.