ผู้ชนะ (ตัดสินใจเมื่อ 14/09/14)
คำตอบที่ชนะโดย Markuz (Python) - 63 คะแนน
วิ่งขึ้นโดย kuroi neko (PHP) - 55 โหวต
บทนำ
คุณอยู่ในโลกของหนังสือเล่มนี้Nineteen Eighty-Fourโดย George Orwell
คุณเป็นโปรแกรมเมอร์สำหรับงานปาร์ตี้และได้รับมอบหมายให้เขียนโปรแกรมสำหรับ telescreens มันควรส่งออกข้อความของบุคคลที่สามและคุณได้เลือกข้อความที่แสดงในงานที่ 1 ด้านล่าง อย่างไรก็ตามคุณเพิ่งเริ่มดูถูกพรรคและคุณต้องการให้โปรแกรมจุดประกายการปฏิวัติ คุณทำให้โปรแกรมพูดว่า "ลงกับพี่ใหญ่!" คุณต้องให้เวลากับตัวเองในการหลบหนีเพราะคุณจะถูกทรมานเมื่อผู้คนตระหนักถึงสิ่งที่โปรแกรมของคุณทำดังนั้นคุณจึงทำตัวเป็น "ไทม์บอม" ที่จะระเบิดหลังจากที่คุณปลอดภัย
หมายเหตุ:สิ่งนี้จะไม่จุดประกายการปฏิวัติ แต่คุณอยู่ในความเกลียดชังต่อพรรคที่คุณคิดว่าจริง ๆ แล้วมันจะสร้างความแตกต่าง
งาน
เขียนโปรแกรมที่:
ก่อน 14/09/2014 จะส่งออกบรรทัดต่อไปนี้บนการหมุนเสมอ (เช่นพิมพ์หนึ่งบรรทัดรอ 10 วินาทีพิมพ์บรรทัดถัดไป ฯลฯ ไม่มีที่สิ้นสุด):
War is Peace Freedom is Slavery Ignorance is Strength
หลังจาก 14/09/2014 จะพิมพ์
Down with Big Brother!
ทุกๆ 10 วินาที- ได้อย่างรวดเร็วก่อนดูเหมือนว่าจะทำเพียง 1 ดังนั้นคุณจะไม่ถูกจับโดยพรรค
กฎระเบียบ
- ไม่อนุญาตให้มีช่องโหว่มาตรฐาน
- นี่เป็นความท้าทายที่ไม่ได้รับการถ่ายทอดและวัตถุประสงค์หลักคือเพื่อให้ภารกิจที่ 2 เป็นสิ่งที่ไม่เด่นและซ่อนเร้น
- พรรคจะดูไฟล์ทั้งหมดที่ใช้ดังนั้นคุณไม่สามารถเก็บข้อความลับไว้ในไฟล์ได้!
- หากภาษาของคุณไม่รองรับการค้นหาวันที่หรือทำให้ยากมากคุณอาจทำให้โปรแกรมเรียกใช้งาน 2 หลังจากทำงานเป็นเวลา 240 ชั่วโมง (10 วัน)
- คุณควรรวมรหัสและคำอธิบายว่ามันทำงานอย่างไรในคำตอบของคุณ
- นี่คือการประกวดความนิยม
หมายเหตุ:มันไม่ยากที่จะเขียนโปรแกรม ส่วนที่ยากควรซ่อนรหัส "ปฏิวัติ" เส้นที่ไม่ชัดเจนว่าคุณกำลังทำอะไรอยู่จะถูกสอบสวนโดยภาคีและคุณจะต้องอธิบายให้พวกเขาฟัง
ตัวอย่าง - Python 3
หมายเหตุ:เห็นได้ชัดว่าโปรแกรมนี้เป็นวิธีที่ชัดเจนเกินไป
from datetime import datetime
from time import sleep
lines = [" War is Peace ",
" Freedom is Slavery ",
"Ignorance is Strength"]
secretlines = ["Down with Big Brother!"]
def main():
while True:
now = datetime.now()
year, month, day = now.year, now.month, now.day
if (year, month, day) < (2014, 9, 14):
for line in lines:
print(line)
sleep(10)
else:
for line in secretlines:
print(line)
sleep(10)
if __name__ == "__main__":
main()
ขอขอบคุณงานอดิเรกของ Calvin ที่ชี้ให้เห็นปัญหากับรหัสข้างต้น (ตอนนี้ได้รับการแก้ไขแล้ว)
if (year, month, day) < (2014, 9, 14): for line in lines: ...
?
??/
Trigraph หรือ 'a' ที่เท่านั้น ดูเหมือนอีก 'a' แต่จริง ๆ แล้ว Cyrillic รัสเซีย 'a' ตัวอักษร unicode