งานของคุณคือการสร้างโปรแกรมที่หากลบตัวละครตัวใดตัวหนึ่งมันจะตรวจสอบว่าตัวละครตัวไหนที่ถูกลบแล้วใส่ตัวละครที่ถูกลบอีกครั้งในไฟล์ต้นฉบับของตัวเอง
ตัวอย่างเช่นหากโปรแกรมของคุณเป็นRadiationHardened
และได้รับการแก้ไขRadiaionHardened
แล้วโปรแกรมของคุณจะต้องแสดงผลว่ามีการปรับเปลี่ยนไบต์ที่ 5 (ดัชนี 0) และแหล่งที่มาของโปรแกรมจะต้องRadiationHardened
ทันทีหลังจากดำเนินการ
หมายเหตุและกฎ
- คุณอาจสมมติว่าลบหนึ่งตัวอักษรในซอร์สโค้ดก่อนการดำเนินการ พฤติกรรมสำหรับโปรแกรมที่ไม่ได้แก้ไขไม่ได้กำหนดไว้
- คุณอาจสันนิษฐานว่าไบต์ที่ถูกเปลี่ยนจะถูกลบไม่ย้ายใส่หรือแทนที่
- ในกรณีที่มีการทำงานของตัวละครเดียวกันหลายตัวคุณอาจรายงานดัชนีแรกหรือดัชนีสุดท้ายของการทำงาน แต่จะสอดคล้องกับที่คุณใช้ ตัวอย่างเช่น
baaad
การลบเพื่อbaad
สามารถรายงาน 1 หรือ 3 (ศูนย์ดัชนี) แต่จะต้องเหมือนกันตลอดทั้งโปรแกรม - คุณไม่จำเป็นต้องเขียนแหล่งที่มาทั้งหมดลงในไฟล์ของตัวเอง คุณต้องใส่ไบต์ที่ถูกลบอีกครั้งเท่านั้น
- ซึ่งแตกต่างจากกฎทั่วไปสำหรับ quines รังสีแข็งการตรวจสอบไบต์ที่เปลี่ยนแปลงจากการอ่านซอร์สโค้ดของโปรแกรมเป็นเกมที่ยุติธรรม
- คุณสามารถส่งออกดัชนี byte ที่เปลี่ยนแปลงผ่านรูปแบบที่เหมาะสม สอดคล้องกันไม่ว่าจะเป็นดัชนี 0 หรือดัชนี 1 หรือสัญลักษณ์อื่น ๆ คุณยังสามารถส่งออกตัวเลขภายในสตริงแม่แบบ
นี่คือรหัสกอล์ฟเพื่อให้โปรแกรมที่สั้นที่สุดชนะ
โชคดี!
EDIT1: เปลี่ยนความต้องการจากการเปลี่ยนเป็นการลบ
EDIT2: เพิ่มกฎสำหรับการทำซ้ำ
code-challenge
ที่ที่แต่ละโปรแกรมได้รับอนุญาตให้ประกาศรายการของไบต์ที่ได้รับการป้องกันจากรังสี (แต่ไม่เกิน 50% ของขนาดทั้งหมด) ระบบให้คะแนนอย่างง่ายอาจนับจำนวนไบต์ที่มีการป้องกันรังสีแต่ละตัวเป็น 10 ไบต์หรืออย่างนั้น
*
คำสั่งของมันจะฆ่า IP ทั้งหมด พระคาร์ดินัล@
ไม่สามารถทำอย่างใดอย่างหนึ่งเพราะ