การเปลี่ยนแปลงของชุดเป็นbijectiveฟังก์ชั่น S ตัวอย่างเช่นถ้าดังนั้นฟังก์ชันเป็นการเปลี่ยนแปลง:
เราสามารถมีพีชคณิตกับเซตอนันต์ลองใช้เป็นตัวอย่าง: ฟังก์ชันเป็นการเรียงสับเปลี่ยนการสลับเลขคี่และเลขจำนวนเต็มคู่ในบล็อกของสอง องค์ประกอบแรกมีดังนี้:
ท้าทาย
งานของคุณสำหรับความท้าทายนี้คือการเขียนฟังก์ชั่น / โปรแกรมที่ใช้การเรียงสับเปลี่ยน1ใด ๆกับจำนวนธรรมชาติบวก คะแนนของการแก้ปัญหาของคุณคือผลรวมของ codepoints หลังจากการแมปพวกเขาด้วยการเปลี่ยนแปลงที่ดำเนินการ
ตัวอย่าง
สมมติว่าเราใช้การเปลี่ยนแปลงข้างต้นที่ดำเนินการกับ Python:
def pi(x):
return x - 1 + 2*(x % 2)
ตัวละครตัวนี้d
มีจุดโค้ด , 99 ถ้าเราทำสิ่งนี้กับตัวละครทุกตัวเราจะได้รับ:
ผลรวมของอักขระที่แมปเหล่านี้คือนี่จะเป็นคะแนนสำหรับฟังก์ชันนั้น
กฎระเบียบ
คุณจะใช้การเปลี่ยนแปลงไม่ว่าจะเป็นฟังก์ชั่นหรือโปรแกรม
- รับจำนวนธรรมชาติกลับ / ส่งออก
- สำหรับวัตถุประสงค์ของการท้าทายนี้ไม่ได้มี
- การเปลี่ยนรูปจะต้องเปลี่ยนรูปแบบเซตย่อยแบบไม่สิ้นสุดของ
- ฟังก์ชั่น / โปรแกรมของคุณไม่ได้รับอนุญาตให้อ่านแหล่งที่มาของมันเอง
เกณฑ์การให้คะแนน
คะแนนจะได้รับจากผลรวมของ codepoints ทั้งหมด (ศูนย์ไบต์อาจไม่ได้เป็นส่วนหนึ่งของซอร์สโค้ด) ภายใต้การเปลี่ยนแปลงนั้น (codepoints ขึ้นอยู่กับภาษาของคุณ2คุณสามารถใช้ SBCS, UTF-8 ได้ฟรีตราบใดที่ ภาษาของคุณรองรับ)
การส่งที่มีคะแนนต่ำที่สุดชนะความสัมพันธ์จะถูกหักโดยการส่งเร็วที่สุด
ยกเว้นการเรียงสับเปลี่ยนซึ่งเปลี่ยนสับเซตเซต จำกัด ของเท่านั้นซึ่งหมายความว่าเซตต้องไม่ จำกัด
หากปรับปรุงคะแนนของคุณคุณสามารถใช้การส่งเยลลี่แบบเข้ารหัส UTF-8 แทน SBCS ปกติ