ในฉากเปิดของDark Knight Risesมีการพูดคุยที่ค่อนข้างงุ่มง่ามระหว่างตัวแทน CIA และ Bane จอมวายร้าย
ตัวแทน CIA: “ ถ้าฉันดึง [หน้ากาก] ออกมาคุณจะตายไหม”
สารพิษ: “ มันจะเจ็บปวดอย่างยิ่ง…”
ตัวแทน CIA: “ คุณเป็นคนที่ใหญ่มาก”
สารพิษ: “ …สำหรับคุณ”
ไม่แน่ใจว่า Bane ตั้งใจที่จะพูดว่า "เจ็บปวดกับคุณ" หรือ "ผู้ชายตัวใหญ่สำหรับคุณ" มาแก้ไขปัญหานี้กันดีกว่าสำหรับการเล่นกอล์ฟรหัส!
ท้าทาย
งานของคุณคือเขียนโปรแกรมที่เรียงลำดับบทสนทนาข้างต้นขึ้นอยู่กับจำนวนเต็มที่ระบุเป็นอินพุต
คำพูดของตัวแทน CIA คือ:
If
I
pull
that
off
will
you
die?
You're
a
big
guy.
คำพูดของ Bane คือ:
It
would
be
extremely
painful...
for
you!
โปรดทราบว่าdie?
, You’re
, painful...
และyou!
จะถือว่าเป็นคำเดียว
- กำหนดจำนวนเต็ม n เป็นอินพุตให้แปลงเป็นไบนารี
- การอ่านตัวเลขไบนารีจากซ้ายไปขวาออกคำต่อไปจากการเจรจาสายลับซีไอเอถ้าหลักคือและคำถัดไปจากสารพิษบทสนทนาถ้าหลักคือ
1
0
คำควรคั่นด้วยช่องว่าง เมื่อผู้พูดเปลี่ยนให้เพิ่มการป้อนบรรทัด นอกจากนี้ให้ใส่คำนำหน้าแต่ละบรรทัดสนทนาด้วยชื่อผู้พูด (BANE:
หรือCIA:
)
คุณสามารถสันนิษฐานได้ว่าอินพุตเริ่มต้นด้วย 1 ในรูปแบบไบนารีเสมอและมี 12 อันและ 7 ศูนย์
ตัวอย่าง
522300
แปลงเป็นไบนารี่:
1111111100000111100
จำนวนเริ่มต้นด้วย 8 คำดังนั้นเราจึงส่งออก 8 คำแรกจากบทสนทนาตัวแทนของ CIA และนำหน้าด้วย CIA:
CIA: If I pull that off will you die?
จากนั้นเราได้ 5 ศูนย์ดังนั้นเราจึงได้ 5 คำแรกจากบทสนทนาของ Bane:
BANE: It would be extremely painful...
จากนั้นมี 4 คำดังนั้นเราจึงส่งออกคำ CIA ถัดไปที่ 4:
CIA: You’re a big guy.
จากนั้น 2 ศูนย์:
BANE: for you!
ผลสุดท้าย:
CIA: If I pull that off will you die?
BANE: It would be extremely painful...
CIA: You’re a big guy.
BANE: for you!
กรณีทดสอบเพิ่มเติม:
494542
CIA: If I pull that
BANE: It would be
CIA: off
BANE: extremely
CIA: will you die? You're
BANE: painful... for
CIA: a big guy.
BANE: you!
326711
CIA: If
BANE: It would
CIA: I pull that off will you
BANE: be extremely painful... for
CIA: die? You're
BANE: you!
CIA: a big guy.