โปรแกรมที่ติดตั้งในเครื่องคอมพิวเตอร์ที่ใช้ในการแข่งขัน

เครื่องคอมพิวเตอร์ที่ใช้ในการแข่งขันใช้ระบบปฏิบัติการ Linux โดยมีโปรแกรมที่ติดตั้งดังนี้
  • ระบบปฏิบัติการ Ubuntu 64 บิต (04.6)
  • Web browsers: Google Chrome (100.0.4896.127), Mozilla Firefox (99.0)
  • Editors: Codeblocks (20.03 rev 11983), Sublime Text (4126), VS Code (1.66.2), gedit (3.28.1), nano (2.9.3)
  • Compiler: gcc, g++ (7.5.0)
  • Debugger: gdb (8.1.0)
หมายเหตุ : ตัวเลขในวงเล็บคือหมายเลขเวอร์ชันของโปรแกรม ทางคณะกรรมการอาจเปลี่ยนแปลงเวอร์ชันของโปรแกรมต่างๆ เป็นเวอร์ชันที่ใหม่ขึ้น หากเห็นสมควร

ข้อกำหนดของระบบปฏิบัติการและตัวแปลภาษาที่ใช้ในการแข่งขัน

1. โปรแกรมที่ผู้เข้าแข่งขันจัดทำในระหว่างการแข่งขัน กำหนดให้เขียนตามมาตรฐานของภาษา C หรือ ภาษา C++ ไม่อนุญาตให้เขียนโปรแกรมที่ทำงานใน Graphic Mode
2. ฟังก์ชันทั้งหมดในการเขียนโปรแกรม กำหนดให้ใช้ฟังก์ชันจากคลังมาตรฐานของภาษา C (The Standard C Library), conio.h (เฉพาะการทำงานบนระบบปฏิบัติการวินโดวส์) และ Standard Template Library (STL) เท่านั้น
  • ไม่อนุญาตให้ใช้ฟังก์ชันจัดการกับแฟ้มและอุปกรณ์โดยตรงที่กำหนดรูปแบบใช้งานในแฟ้ม (fcntl.h), (io.h) และ (h)
  • ไม่อนุญาตให้โปรแกรมสร้างแฟ้มข้อมูลสำรองเพิ่มเติมระหว่างการทำงาน ห้ามอ่านหรือเขียนแฟ้มข้อมูลอื่นนอกเหนือจากที่โจทย์ระบุ
  • ไม่อนุญาตให้เรียกใช้โปรแกรมอื่นๆ (เช่น ผ่านทางฟังก์ชัน System) หรือเรียกใช้ System Call นอกเหนือจากที่ใช้งานปกติ
  • ไม่อนุญาตให้ทำการคำนวณแบบมัลติโปรเซสซิง (Multi-processing) เช่น ไม่อนุญาตให้ โปรแกรมเรียกใช้ฟังก์ชันใน Thread Library ต่าง ๆ
3. โปรแกรมภาษา C ที่ผู้เข้าแข่งขันจัดทำในระหว่างการแข่งขัน กำหนดให้เขียนโปรแกรมที่ส่วนขยาย เป็น .c สำหรับภาษา C++ ให้ใช้นามสกุล .cpp และต้องอยู่ในรูปแบบที่สามารถแปล (compile) ให้เป็นโปรแกรมที่สามารถทำงานได้โดยสมบูรณ์จากบรรทัดคำสั่ง (Command Line)
4. ใช้ GCC (GNU Compiler Collection) ในการตรวจโปรแกรมเพื่อให้คะแนน โดยใช้วิธีการแปลและให้ ทำงานจากบรรทัดคำสั่งเท่านั้น โปรแกรมจะถูกสั่งให้ทำงานบนระบบปฏิบัติการและคอมไพเลอร์ เดียวกันกับที่ผู้เข้าแข่งขันเลือกใช้ ทั้งนี้เครื่องที่ใช้ในการตรวจสอบคำตอบของผู้เข้าแข่งขันจะเลือกระบบปฏิบัติการและคอมไพเลอร์โดยพิจารณาข้อมูลจากที่กำหนดไว้ที่ต้นไฟล์คำตอบของผู้เข้าแข่งขัน
5. คอมไพเลอร์ออปชัน (Compiler Option) ที่ใช้ในการแข่งขันจะทำการออปทิไมซ์ (Optimize) โปรแกรมโดยใช้ออปชัน -O2
6. อนุญาตให้เขียนโปรแกรมภาษา C ตามมาตรฐาน C++14 โดยคอมไพเลอร์ออปชันที่กำหนดเพิ่มใช้ออปชัน -std=C++14