อะไรคือ Competitive Programming?
ผู้เขียน: Pakin Olanraktham
Competitive Programming คือการแข่งขันการเขียนโปรแกรม เพื่อแก้ปัญหาต่างๆ ตามที่โจทย์ระบุมา โดยโจทย์อาจมีการพลิกแพลง อาจจะมีความคล้ายกับโจทย์ปัญหาคณิตศาสตร์ แต่คุณต้องเขียนโปรแกรม เพื่อแก้ปัญหาเหล่านั้น เนื่องจากข้อมูลนำเข้าอาจมีขนาดใหญ่มาก (เช่น ให้หาค่าที่มากที่สุดของตัวเลข 1,000,000 ตัว) โปรแกรมที่คุณเขียน ต้องสามารถทำงานภายในเวลาที่กำหนดได้ (เช่น 1 วินาที) และใช้ความจำภายในขอบเขตที่กำหนดได้ (เช่น 256 megabytes)
ในโจทย์ปัญหาแต่ละข้อ คุณจะต้องส่งโปรแกรมที่คุณเขียน เข้าไปในระบบเกรดเดอร์ ซึ่งจะทำการรันโปรแกรมของคุณ โดยการนำเข้าข้อมูลที่ผู้แต่งโจทย์ได้เตรียมไว้แล้ว และจะเปรียบเทียบข้อมูลส่งออกของโปรแกรมที่เขียน กับเฉลย
ในการเขียนโปรแกรม คุณไม่จำเป็นต้องจัดระเบียบโค้ดให้สวยงาม เหมือนกับการเขียนโค้ดในโปรเจกต์ต่างๆ คุณแค่ต้องเขียนให้ตัวเองอ่านออกก็พอ เพราะเป้าหมายคือ การเขียนโค้ดที่ส่งออกข้อมูลได้ถูกต้อง ทำงานได้อย่างรวดเร็ว และสามารถเขียนได้ง่าย