กฎการแข่งขัน พิมพ์ อีเมล

การแข่งขันการเขียนโปรแกรม ระดับภาคใต้ ครั้งที่ 1 ปี 2553
ACM-ICPC Thailand Southern Area Programming Contest 2010

ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์ วิทยาเขตภูเก็ต
Prince of Songkla University, Phuket Campus
12-13 กรกฎาคม 2553 12-13 July 2010

 


กฎกติกา และ การตัดสิน
         กฎกติกาการแข่งขันอ้างอิงจากกฎการแข่งขันของ ACM-ICPC โดยคณะกรรมการจัดงาน ได้ปรับปรุงบางส่วนให้เข้ากับสภาพการแข่งขันในพื้นที่ปัจจุบัน ผู้เข้าร่วมแข่งขันทุกทีมและผู้ควบคุมทีม (โค้ชหรือผู้ช่วย) ต้องปฏิบัติตามอย่างเคร่งครัด เพื่อความเสมอภาคและความยุติธรรมในการแข่งขัน


1. ทั่วไป

1.1 ลักษณะการแข่งขัน
     • แข่งขันเขียนโปรแกรมแก้โจทย์ปัญหา มีโจทย์อย่างน้อย 5 ข้อ (โจทย์อธิบายเป็นภาษาอังกฤษหรือไทย แต่มีโจทย์เป็นภาษาอังกฤษอย่างน้อย 2 ข้อ) โดยใช้ภาษา C, C++ หรือ Java เป็นภาษาโปรแกรม เวลาแข่งขัน 3 ชั่วโมง 30 นาที ติดต่อกัน
     • ทีมเข้าแข่งขันเลือกทำโจทย์ข้อใดก่อนก็ได้ แต่ละข้อใช้ภาษาโปรแกรมอะไรก็ได้ (C, C++, Java)
     • ทีมที่เข้าแข่งขัน มีสมาชิก 3 คน เป็นนักศึกษาจากสถาบันเดียวกัน
1.2 สิ่งที่อนุญาตและไม่อนุญาตในห้องแข่งขัน
     • อนุญาตให้นำหนังสือ (text book, dictionary, magazine, …) เข้าได้ทีมละไม่เกิน 3 เล่ม และเอกสารอื่นๆ ในรูปแบบกระดาษไม่เกิน 100 แผ่น
     • ไม่อนุญาต ให้ใช้อุปกรณ์สื่อสาร และ อุปกรณ์อิเล็กทรอนิกส์ทุกชนิด (โทรศัพท์, เครื่องคิดเลข, เครื่องเล่น MP3, flash drive, CD, iPod, …)
     • ระหว่างการแข่งขันไม่อนุญาต ให้สื่อสารกับทีมอื่นๆ หรือโค้ช (ผู้ควบคุมทีม) ไม่ว่าวิธีการใดๆ
     • ในระหว่างการแข่งขัน สมาชิกในทีมอาจขออนุญาตกรรมการประจำห้องไปห้องน้ำหรือผ่อนคลาย ภายนอกห้องแข่งขัน ในขอบเขตที่กำหนดไว้ และมี staff คอยเฝ้าติดตาม แต่ละครั้งไม่เกิน 15 นาที
     • มีน้ำและอาหารว่าง จัดให้แก่ทุกทีม ในระหว่างการแข่งขัน
     • ไม่ควรส่งเสียงดังเกินควรหรือทำการอื่นใด ที่เป็นการรบกวนทีมอื่นๆ
     • ไม่อนุญาต ให้ใช้ internet หรือ พยายามติดต่อใช้ internet ด้วยวิธีการใดๆ 


2. สภาพแวดล้อมในการแข่งขัน

2.1 ห้องแข่งขัน
     • แต่ละทีมถูกจัดให้อยู่ในห้องแข่งขัน มีแสงสว่างเพียงพอ ในห้องปรับอากาศ
     • แต่ละทีมมีโต๊ะทำงานหนึ่งตัว เก้าอี้ 3 ตัว และ PC 1 เครื่อง
2.2 Programming Environment
OS: Linux  ( Ubuntu )
Languages/Compiler/Library:
        C/C++ :  GCC version 4.2+  / Standard GNU C library , GNU C++ Library
  Java: Java 1.6 / Java Standard Edition 6
 IDE:  Java  - Eclipse 3.3.1
             C/C++ - CDT 4.0.1 under Eclipse 3.3.1
 Editor: vi/vim , gvim, gedit, kate, xemacs
 Programming Contest Control:  PC2 v 9.1
 ในวันก่อนวันแข่งขันจริง มี Practice Session เพื่อให้ทุกทีมได้ทดลองใช้เครื่อง และเข้าสู่ระบบควบคุมการแข่งขัน PC2 ที่ใช้ส่งโปรแกรมคำตอบ และดูผลตัดสิน และเวลาของการแข่งขัน 


3. การตัดสิน
     • การเรียงอันดับของทีม นับจากจำนวนโจทย์ที่ทำได้ (problem solved) เป็นหลัก ถ้ามีทีมที่ทำได้จำนวนโจทย์เท่ากัน ให้เรียงตามเวลา (time หรือ points) จากน้อยไปมาก
     • Time/Points หรือคะแนน คือ ผลรวมของเวลา (จำนวนนาที นับจากจุดเริ่มต้นการแข่งขัน) ที่ใช้ทำโจทย์ในแต่ละข้อ นับเฉพาะข้อที่ทำได้ถูกต้อง โปรแกรมคำตอบ(หรือ Run) ที่ส่งแล้วไม่ถูกต้อง จะถูกเพิ่มเวลาเป็น 20 นาทีต่อครั้ง เวลาของโจทย์ของข้อที่ยังทำไม่ถูกจะไม่นำไปคิดในเวลารวม
     • เมื่อสิ้นสุดเวลาการแข่งขัน ระบบ PC2 จะจัดอันดับของทีมต่างๆ โดยอัตโนมัติ จะยึดถือผลการตัดสินนี้เป็นหลัก และเมื่อกรรมการไม่ตรวจพบความผิดปกติใดๆ จึงประกาศให้ผลการตัดสินนั้น เป็นผลการตัดสินอย่างเป็นทางการ 
     • การได้จำนวนข้อ Problem solved และ Time ที่เท่ากันพอดีของสองทีม (หรือหลายทีม) ให้จัดอันดับโดยพิจารณาเพิ่มเติมดังนี้
          o ตอนแรกดูความแม่นยำก่อน คือทีมที่ส่งจำนวน Run น้อยกว่าเป็นผู้ชนะ (Attempt น้อยกว่าแต่ได้ข้อถูกเท่ากัน) 
         o หาก Attempt เท่ากันพอดี ให้พิจารณาเวลาของข้อแรกที่ทีมนั้นๆทำได้ ใครทำได้ก่อนเป็นผู้ชนะ หากเท่ากันอีกจึงพิจารณาข้อถัดไปตามลำดับ