iCode Programming Contest 2017
DATE: 27-Jun-2017
การแข่งขันการเขียนโปรแกรม ระดับมัธยมศึกษาตอนปลาย ปี 2560
iCode Programming Contest 2017
ณ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเชียงใหม่
20 สิงหาคม 2560
การแข่งขันโปรแกรมคอมพิวเตอร์ รับสมัครทีมเข้าแข่งขันทั้งหมด 35 ทีม (ทีมรับเชิญ 5 ทีม)
*** ให้สิทธิ์ทีมที่สมัครก่อน 5 ทีมแรกของแต่ละโรงเรียน
*** ทีมที่สมัครหลังจากครบจำนวนแล้ว จะอยู่ใน waiting list และจะได้รับสิทธิ์เมื่อมีทีมสละสิทธิ์
การแข่งขันแบ่งออกเป็น 2 รอบ
-รอบคัดเลือก: เป็นการแข่งขันเขียนโปรแกรมคอมพิวเตอร์ในสภาพแวดล้อมปิด การแข่งขันจะแบ่งทีมทั้งหมดออกเป็น สาย A 20 ทีม และ สาย B 20 ทีม ทำการแข่งขัน สายละ 60 นาที โดยคัดเลือก 10 อันดับแรกของแต่ละสายเข้าไปแข่งในรอบชิงชนะเลิศ
-รอบชิงชนะเลิศ: เป็นการแข่งขันเขียนโปรแกรมคอมพิวเตอร์ในสภาพแวดล้อมปิด เป็นเวลา 120 นาที โดย สมาชิก ทั้ง 3 คน จะต้องช่วยกัน แก้โจทย์ปัญหา ให้เสร็จ ภายในเวลาที่กำหนด โดยสามารถใช้ ภาษา C, JAVA และ C++ ในการแข่งขันได้
กฎกติกา และ การตัดสิน
กฎกติกาการแข่งขันอ้างอิงจากกฎการแข่งขันของ ACM-ICPC โดยคณะกรรมการจัดงาน ได้ปรับปรุงบางส่วนให้เข้า กับสภาพการแข่งขันในพื้นที่ปัจจุบัน ผู้เข้าร่วมแข่งขันทุกทีมและผู้ควบคุมทีม (โค้ชหรือผู้ช่วย) ต้องปฏิบัติตามอย่างเคร่งครัด เพื่อความเสมอภาคและความยุติธรรมในการแข่งขัน
1. ทั่วไป
1.1 ลักษณะการแข่งขัน
• แข่งขันเขียนโปรแกรมแก้โจทย์ปัญหา มีโจทย์ไม่น้อยกว่า 8 ข้อ (โจทย์อธิบายเป็นภาษาไทย) โดยใช้ภาษา C, C++ หรือ Java เป็นภาษาโปรแกรม เวลาแข่งขัน 3 ชั่วโมงติดต่อกัน
• ทีมเข้าแข่งขันเลือกทําโจทย์ข้อใดก่อนก็ได้ แต่ละข้อใช้ภาษาโปรแกรมอะไรก็ได้ (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 14.04 )
Languages/Compiler/Library:
C/C++ : GCC version 4.2+ / Standard GNUC library , GNU C++ Library
Java: Java 1.7.0_79 / Java Standard Edition 7
Eclipse IDE for Java EE Developers
Eclipse IDE for C/C++
Codelite mingw Code::Block mingw Geany mingw vim gvim GNU Emacs24
Programming Contest Control: PC2 v 9.2.4
ในวันแข่งขันจริง มี Practice Session เพื่อให้ทุกทีมได้ทดลองใช้เครื่อง และเข้าสู่ระบบควบคุมการแข่งขัน PC2 ที่ใช้ส่งโปรแกรมคําตอบ และดูผลตัดสิน และเวลาของการแข่งขัน
3. การตัดสิน
• การเรียงอันดับของทีม นับจากจํานวนโจทย์ที่ทําได้ (problem solved) เป็นหลัก ถ้ามีทีมที่ทําได้จํานวนโจทย์เท่ากัน ให้เรียงตามเวลา (time หรือ points) จากน้อยไปมาก
• Time/Points หรือคะแนน คือ ผลรวมของเวลา (จํานวนนาที นับจากจุดเริ่มต้นการแข่งขัน) ที่ใช้ทําโจทย์ในแต่ละข้อ นับเฉพาะข้อที่ทําได้ถูกต้อง โปรแกรมคําตอบ(หรือ Run) ที่ส่งแล้วไม่ถูกต้อง จะถูกเพิ่มเวลาเป็น 20 นาทีต่อครั้ง เวลาของโจทย์ของข้อที่ยังทําไม่ถูกจะไม่นําไปคิดในเวลารวม
• เมื่อสิ้นสุ ดเวลาการแข่งขัน ระบบ PC2 จะจัดอันดับของทีมต่างๆ โดยอั ตโนมั ติ จะยึดถือผลการตัดสินนี้เป็นหลักและเมื่อกรรมการไม่ตรวจพบความผิดปกติใดๆ จึงประกาศให้ผลการตัดสินนั้น เป็นผลการตัดสินอย่างเป็นทางการ
• การได้จํานวนข้อ Problem solved และ Time ที่เท่ากันพอดีของสองทีม (หรือหลายทีม) ให้จัดอั นดับโดยพิจารณาเพิ่มเติมดังนี้
- ตอนแรกดูความแม่นยําก่อน คือทีมที่ส่งจํานวน Run น้อยกว่าเป็นผู้ชนะ (Attempt น้อยกว่าแต่ได้ข้อถูกเท่ากัน)
- หาก Attempt เท่ากันพอดี ให้พิจารณาเวลาของข้อแรกที่ทีมนั้นๆทําได้ ใครทําได้ก่อนเป็นผู้ชนะ หากเท่ากันอีกจึงพิจารณาข้อถัดไปตามลําดับ
• ผู้ควบคุมทีมมีสิทธิประท้วงการแข่งขัดได้ ภายใน 15 นาทีหลังการแข่งขันสิ้นสุด แต่การตัดสินของกรรมการถือเป็นที่สิ้นสุด
เงินรางวัล
- ชนะเลิศ เงินรางวัล 10,000 บาท
- รองชนะเลิศอันดับที่ 1 เงินรางวัล 5,000 บาท
- รองชนะเลิศอันดับที่ 2 เงินรางวัล 3,000 บาท
ติดตามรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ : http://cpe.eng.cmu.ac.th/icode/
**** สมาชิกของทีมอันดับที่ 1-5 จะได้รับสิทธิ์เข้าสมัครในโครงการอัจริยทางคอมพิวเตอร์ ปี 2561
(โครงการรับสมัครเพื่อคัดเลือกนักศึกษาที่มี ความรู้ ความสามารถ ทักษะ หรือประสบการณ์พิเศษ เข้าศึกษาวิศวกรรมคอมพิวเตอร์ มช)