Codejam 2013 Round 1A

ปกติผมจะตกรอบโค้ดแจมก็รอบนี้แหละครับ คือทำได้อย่างมากก็ข้อสองข้อซึ่งไม่พออยู่ดี

ในรอบนี้ทำได้อยู่ข้อเดียวคือ Bullseye

โจทย์กำหนดมาว่าต้องการวาดวงกลมแบบเป้า โดยวงในสุดมีรัศมี r ซม. และจะวาดขอบดำล้อม 1 ซม. ตามด้วยขอบขาว 1 ซม. สลับกันไปเรื่อยๆ (ขอบขาวไม่ต้องทาสี) ถ้าพื้นที่ 1 พายใช้สี 1mL ถามว่าสีจำนวนที่ให้มาสามารถวาดวงดำได้กี่วง

ข้อนี้ผมเสียเวลาตรง พท. วงกลมนี่ล่ะครับ ตอนแรกคิดว่าถ้า 1 พาย ใช้สี 1mL วงถัดมาที่รัศมี 2 ก็ต้องใช้สี 2mL ซึ่งแน่นอนว่าผิดเพราะพท. วงรัศมี 2 มีค่า pi*r^2 = 4*pi

————–

ผมเคยบอกตอนรอบคัดเลือก และถ้าอ่านโค้ดผมในงานแข่งต่างๆ จะเห็นว่าผมไม่ใช่คนเก่งอะไร

ผมแค่เขียนโค้ดตามที่โจทย์กำหนด โค้ดผมไม่ได้ใช้ algorithm อะไรซับซ้อน

แต่พอได้เห็น ได้สอนเพือนเขียนโปรแกรมก็เข้าใจเลยว่ากระบวนการคิดของคนเรามันต่างกัน แค่ข้อ [Store Credit](https://code.google.com/codejam/contest/351101/dashboard#s=p0) ง่ายๆ เนี่ย ก็มีคนทำไม่ได้

สมัยเรียนหุ่นยนต์ ครูดีใจแทบตายตอนเห็นเพื่อนให้หุ่นวิ่งเป็นรูปที่กำหนดให้ได้ นั่นคือผลงานของเพื่อนผมในเทอมสอง

ผมไม่รู้นะว่าปกติเค้าสอนเขียนโปรแกรมกันยังไงสำหรับคนประเภทนี้ ผมเรียนมาในโรงเรียนมีแต่ให้โค้ดไปแล้วไปเติมอะไรพวกนี้ ตอนที่เรียนเองผมก็ไม่ได้เรียนกระบวนการคิดลักษณะนี้มาด้วย

อย่างนึงอาจจะเป็นเพราะกลัวผิด กลัวพัง ผมไม่กลัวผิด ผม debug โค้ดโง่ๆ เป็นชั่วโมงมาแล้ว ผมต่อยจอเตะเคสนับครั้งไม่ถ้วนกว่าจะมาถึงจุดนี้

อีกอย่างนึงคือไม่สามารถมองกระบวนการแยกลงไปได้ และ flow chart ไม่ช่วยอะไรเลยเพราะมันเขียนแค่ว่าไปตลาด คือ ใส่รองเท้า เดินออกนอกบ้าน เลี้ยวซ้ายขวาหน้าหลัง

ผมเคยถามเพื่อนด้วยคำถามที่ทุกคนมองตอบได้: `[MG-FS]Ben-To 07 [1280×720 x264 AAC][TH].mp4` อนิเมะไฟล์นี้ ชื่อเรื่องว่าอะไร

ทุกคนมองแล้วน่าจะตอบได้ว่า Ben-To คำถามต่อมาคือ “รู้ได้ยังไง” ก็ยังตอบได้ว่าหลัง ] ก็เป็นชื่อเรื่อง แต่….

ถ้ามองแบบนั้นแปลว่าอนิเมะเรื่องนี้ชื่อ `Ben-To 07 [1280×720 x264 AAC][TH].mp4` เพราะไม่ได้กำหนดจุดจบ แล้วจุดจบล่ะอยู่ที่ไหน

เค้าตอบผมว่า ดูที่ตัวเลข ผมถามกลับว่า งั้น `[pandoramon] Shinryaku Ika Musume S2 – 07 [720p].mkv` คือเรื่อง `Shinryaku Ika Musume S` หรอ?

(คำตอบที่ถูกคือดูตัวเลขถูกแล้วครับ แต่ต้องเป็นตัวเลขหลังสุดที่อยู่ก่อนตัว [)

ผมไม่ได้เก่งอะไร แค่ผมอธิบายได้แค่ว่าคำถามที่ทุกคนมองตอบได้นี่แหละมันมีวิธีคิดยังไง