นี่คือคำถามสหายสำหรับรหัสปริศนาอักษรไขว้ Robber ตอบคำถามได้ที่นี่
ดูเราควรใส่โจรที่ไหน สำหรับ meta-info
นี่คือคำถามสหายสำหรับรหัสปริศนาอักษรไขว้ Robber ตอบคำถามได้ที่นี่
ดูเราควรใส่โจรที่ไหน สำหรับ meta-info
คำตอบ:
ฉันต้องเหลวไหลเล็กน้อยเมื่อวันที่ 7-Down โดยเรียกใช้พฤติกรรมที่ไม่ได้กำหนด es1024 ระบุว่าการใช้ UB นี้เป็นวิธีแก้ปัญหาที่ตั้งใจไว้ มันจะทำงานบนคอมพิวเตอร์ของคนส่วนใหญ่แม้ว่า ฉันมาที่มีการแสดงออกต่างๆบรรลุผลที่ต้องการเช่น-1 << 30
, 3 << 30
, 6 << 29
และ~(~0U/4)
แต่ทั้งหมดของพวกเขาทำให้มันเป็นไปไม่ได้สำหรับผมที่จะได้รับ 5-ข้าม ดังนั้นฉันจึงใช้คุณสมบัติเฉพาะสถาปัตยกรรมของ Intel ที่ใช้บิตที่มีนัยสำคัญน้อยที่สุด 5 บิตเท่านั้นเพื่อกำหนดขนาดของกะซ้าย โปรดทราบว่ามันจำเป็นต้องมี~_
และไม่ใช่~1
เพื่อให้ปริมาณการเลื่อนผ่านไม่ใช่ค่าคงที่เวลารวบรวม ฉันทดสอบนิพจน์ด้วยรหัสต่อไปนี้:
#define T(X) _ = c; _ = X; printf("%d\n", _);
z[4] = {9};
int main(c)
{
int _;
T("01"[0])
T(-8)
T(-2)
T(11<-328111)
T(+2+71)
T(9+0)
T(0**z)
T(5;)
T(0<-000)
T(2+~3)
T(!91)
T(!_)
T(2**z)
T('_T;')
T("11"?5*9:2)
T(15<<9)
T(0+22)
T(-211*0-97;)
T(-17*0)
T(3+0<<~_)
T(8+000)
T(+0)
T(42)
T(+!z)
T(~_)
}
#define T
เป็นองค์ประกอบที่จำเป็นสำหรับโซลูชันของคุณ คำถามยังคงอยู่ทำไม M-cross ทำงาน? การกำหนดค่าคงที่แบบหลายอักขระเพียงแค่เชื่อมค่าไบต์? ถ้าเป็นเช่นนั้นฉันเรียนรู้สิ่งใหม่วันนี้ :)
int
ดังนั้นคุณสามารถใส่ได้ถึงสี่ไบต์โดยไม่สูญเสียข้อมูล
(วิธีนี้ต้องใช้ช่องว่างหลายช่องจึงไม่ใช่ว่า professorfish คนหนึ่งกำลังมองหา)
#K###I#'32
#HDJ*s\ ##
2##2#`#`#-
4Zm*`##L#3
m##6##]`'
f####e#`#'
`#0#'d1+eu
## #!####9
## '{;'"'m
C5(#}####q
มันสนุกมาก โปรดทราบว่า#
ด้านล่าง6
เป็นรหัสจริงและไม่ใช่เซลล์มืด ลองทำสิ่งนี้:
เคล็ดลับที่ [[4 3]]
2: นี่เป็นหนึ่งในเล่ห์เหลี่ยมเพราะฉันติดอยู่กับการลอง4Z]]`
หรือคล้ายกัน ปรากฎว่าคุณสามารถใช้ผลิตภัณฑ์คาร์ทีเซียนm*
กับสิ่งที่ไม่ใช่อาร์เรย์และมันจะสร้างอาร์เรย์ให้คุณ ดังนั้นนี่คือ:
4Zm*`
เคล็ดลับที่ 24717
4: ตามเวลาที่ฉันได้ไปนี้H
, J
, s
และท้ายพื้นที่มีอยู่แล้วในสถานที่ ผู้H
ให้ไปซึ่งฉันอาจใช้ซ้ำ17
และทำ\
ในตอนท้าย J
ดัน19
และ247 == 13 * 19
เพื่อ:
HDJ*s\
คำแนะนำที่ 32
7: มีพวงของวิธีการทำเช่นนี้คือ: Y5#
, 3 2
, ZY
, YZ\
, 4(2
, ,2)2
'32
ฉันไปกับคนสุดท้ายเพราะเริ่มต้นด้วยตัวละครที่ดูเหมือนจะสัญญาว่าจะลง 7 และนั่นกลายเป็นที่ถูกต้อง
คำแนะนำที่ E
8: ฉันมี'd
เมื่อผมไปถึงที่นั่นเพื่อให้มันเป็นระหว่างการเลือก'd1+eu
, 'deu1+
หรือตัวแปรที่ผมใช้)
และพื้นที่แทน1+
(สำหรับคนที่ไม่ใช่ CJam นี้เอาd
ตัวอักษรและการเพิ่มขึ้นและบนปลอกมันในการสั่งซื้ออย่างใดอย่างหนึ่ง) . อย่างไรก็ตามu
คอลัมน์ในคอลัมน์สุดท้ายนั้นมีประโยชน์สำหรับ A-down ดังนั้นฉันเลือกคนแรก ในที่สุด'd) eu
ก็จะได้ผลเช่นกัน
คำแนะนำที่ ""
9: นี่ต้องเป็น "สตริงว่างรับการแทนสตริงผลักช่องว่าง" แต่ยังจำเป็นต้องมี `สำหรับการแสดงสตริงใน 7-down และพื้นที่ใน A-down ดูเหมือนว่ามีประโยชน์เช่นกันดังนั้นฉันเลือก
]`'
โปรดทราบว่าอาจจะยังได้รับหนึ่ง]
LMOQR
แบะท่า "m
B: ฉันแค่ต้องพอดีกับสิ่งนี้ในส่วนที่เหลือ แต่มีตัวละครน้อยที่สำคัญ ฉันแล้วมีและ{
m
ดังนั้นแทนที่จะใช้บล็อกฉันเปลี่ยน{
เป็นตัวอักษรทิ้งแล้วผลักอักขระที่ต้องการสองตัว:
'{;'"'m
แบะท่า 124
D: ฉันแก้ไขอันนี้ด้วย C-down ซึ่งเป็นวิธีที่ง่ายที่สุดเมื่อมีการลดลงในตอนท้าย ดังนั้นฉันจึงกด 12, 5 และลดค่าหลัง:
C5(
เคล็ดลับที่ [2 2 2 3]
1: นั่นดูน่าสงสัยเกินไปเหมือนเป็นตัวประกอบสำคัญสำหรับมันที่จะไม่เป็นหนึ่ง :)
24mf`
เคล็ดลับที่ 3010936384
3: แฟคตอนี้แสดงให้เห็นว่ามันเป็นจริง 38 6 คำถามเดียวก็คือทำอย่างไรถึงจะได้รับความ38
สอดคล้องกับ 2-cross ในตอนท้ายฉันต้องการ a *
ในอันดับสามจึงเพิ่มเป็นสองเท่า19
:
J2*6#
คำแนะนำที่ 2017
5: อักขระสองตัวที่มีจำนวนมากเช่นนี้? เพียงใช้ตัวแปรสองหลักในตัว:
KH
คำแนะนำที่ "18"
6: ฉันคิดว่ามีเพียงวิธีเดียวในการทำเช่นนี้ใน 3 ตัวอักษร ใช้ 18 ในตัวแปลงเป็นสตริงและจากนั้นแทนการเป็นสตริง
Is`
คำแนะนำที่ ' "\"\""
7: อาจเป็นส่วนที่ยากที่สุดของปริศนา โดยเฉพาะอย่างยิ่งฉันจำเป็นต้องได้รับ"\"\""
เพียงสามตัวละคร เคล็ดลับคือการรับการแทนค่าสตริงของสตริงว่างสองครั้ง สิ่งนี้นำไปสู่:
' `L``+
THe +
ไม่จำเป็น แต่เป็นสิ่งที่จำเป็น 8 ข้าม
คำแนะนำที่ !{}
8: บล็อกจำเป็นต้องใส่รหัสดังนั้นเหลือเพียงสองตัวอักษร!
ซึ่งหมายถึงการใช้ตัวอักษรอื่น:
'!{}
-3u3
คำแนะนำ: ด้วยการu
เข้าร่วมจาก 8 การข้ามฉันเริ่มวาง-3
และ3
ในมุมที่ไม่มีคำแนะนำอื่น ๆ เกี่ยวกับพวกเขา แต่แล้วฉันต้องการm
ด้านล่าง ฉันคิดว่ามีหลายวิธีในการเข้า3
ร่วม_m_
แต่สิ่งที่ง่ายที่สุดคือการหาสแควร์รูทของ 9:
-3 'u9mq
คำแนะนำ -1
C: ฉันมีการลดลงที่นั่นดังนั้นฉันจึงใส่0
ที่ไม่มีใครสนใจ:
0 (
แบะท่า Stack: ""
E: นั่นเป็นวิธีที่ง่ายที่สุด เพียงเรียกเครื่องมือดีบั๊ก:
ed
COTO, Javascript ES4, 37 Darks
__________
|{}=51###6#|
|a##.#I-9<4|
|:##-##"#<#|
|5+Math.PI#|
|}##+##.#+#|
|["9"+0][0]|
|'##p##"###|
|a+-a#a=-10|
|'##c##=###|
|]##"\x48I"|
¯¯¯¯¯¯¯¯¯¯
5+Math.PI
หรือMath.PI+5
; แต่หลังจะปล่อยให้ 'M' และ 'h' ข้ามไปยังการแสดงออกอื่น ๆ ดูเหมือนไม่น่า"\x48I"
วิธีเดียวที่คุณมีห้องพักสำหรับที่อยู่กับxxxa
ประเมินเป็นศูนย์ดังนั้น -a + a A + -a? 3 + -a? a+-a
ดูดีที่สุดเพราะมันทำให้ฉันดูเหมือนถ่านในสตริงที่ 1dn{x:5}xxa'x
เท่านั้น เนื่องจากค่าที่ส่งคืนคือ 5 จึงต้องดึงออกมาจากวัตถุดังนั้น{x:5}['a']
ซึ่งหมายความว่าอักขระที่ขาดหายไปสุดท้ายคือ a:{a:5}['a']
t={}=51
แล้วก็ใช้ได้ ไม่รู้ว่า!5xxax"pac"
=> "2pac" สิ่งนี้จะต้องเป็น5-a+"pac"
อย่างใดดังนั้นถ่านที่สองจะต้องเป็น '.' สำหรับจุดลอยตัวอักษร[xx"xxxx]
ส่งคืน "90" ดังนั้นสิ่งนี้จะต้องเป็นตัวอักษรอาร์เรย์ที่มีค่าที่ดึงออกมา [xx"xx][0]
มีห้องพักเพียงสำหรับค่าหนึ่งดังนั้นเราจึงมี ไม่มีที่ว่างสำหรับสองสายในนั้น แต่อย่างใดอย่างหนึ่ง"9"+0
หรือ9+"0"
พอดี6<<I
กลายเป็นคำตอบโดยปล่อยให้ +0 ต่อท้ายI-I<4
, I-6<4
ฯลฯ )-x..]xxx4
มีอยู่ในขณะนี้ ".. " โยนฉัน - มีเพียงไม่กี่วิธีเท่านั้นที่สามารถเป็นรูปแบบทางกฎหมายและเป็นเหตุผลที่ฉันถามว่า ES4 เป็นสิ่งที่ตั้งใจหรือไม่ - นี่เป็นคุณสมบัติแปลก ๆ ของสเปคที่ถูกทิ้งร้างหรือไม่? แต่ฉันเห็นว่านี่เป็นปลาเฮอริ่งแดง -""
คือ NaN ดังนั้น-"..]"xx4
จะต้องเป็นสิ่งที่มี - การเปรียบเทียบกับ NaN กลับเท็จ '==' จะทำ แต่ต้องดูคำตอบสุดท้ายเพื่อยืนยัน ...=-10
บางสิ่งบางอย่าง พูดตามตรงฉันยังได้ดู 9dn รุ่นก่อนหน้าและตระหนักว่าต้องเป็นสิ่ง=top
(เพื่อให้ได้หน้าต่างกลับมา) ตัวแปรที่กำหนดให้อาจเป็นหรือฉันมันไม่สำคัญปริศนาหากิน!
สำหรับนิพจน์ floating-point ที่มีความยาวทั้งหมดฉันได้สร้างโปรแกรม C ++ เพื่อสร้างนิพจน์ทางคณิตศาสตร์ของ Python ด้วยการบังคับและประเมินผล มันถือว่าตัวเลขทั้งหมดเป็นทศนิยมและสนับสนุนผู้ประกอบการเท่านั้น +, -, *, /, //, ** และ ~ ฉันใช้มันเพื่อให้ได้เบาะแสที่ยาวกว่า 5 ตัวอักษรทุกตัวยกเว้นa**9*27%b
และแฮช ด้วยช่องว่าง 6 หรือน้อยกว่าจะเสร็จสิ้นภายในไม่กี่วินาทีในขณะที่มีการรอสักครู่สำหรับ 7
ฉันเดาว่าฉันเล่นกอล์ฟคันนี้ได้ดีเพราะมี 14 ช่องว่าง
สคริปต์ทดสอบนี้:
g=4;
o=magic(3);
D=@disp;
D(max([ 2]));
D( i^3);
D(o^0);
D(6 -7+eye );
D((i));
D(.1 ^5* g );
D(~2);
D(diag(~o) );
D(asin (1)*i);
D((93+7) +~g);
D( 10e15);
D(2*ones (2));
D(02 ^ 9 );
D(-i );
D(~o);
สร้างเอาต์พุตต่อไปนี้:
2
0 - 1.0000i
1 0 0
0 1 0
0 0 1
0
0 + 1.0000i
4.0000e-05
0
0
0
0
0 + 1.5708i
100
1.0000e+16
2 2
2 2
512
0 - 1.0000i
0 0 0
0 0 0
0 0 0