Codejam Qualification Round 2014

โค้ดแจมปีนี้โจทย์ชักจะยากขึ้นเรื่อยๆ ครับ (ผมยังติดใจความง่ายของ 2011 อยู่เลยเนี่ย)

ปีนี้ผมดันทำ A เสร็จแล้วไปลุย C เลย ปรากฏว่าไม่ผ่านแล้วหมดแรงอยู่ตรงนั้น กว่าจะกลับมาทำ B ก็ห้าทุ่ม -_-‘ (ผมเองรู้สึกว่าผม burnout มาสักพักแล้ว ไม่ได้โค้ดแบบจริงจังมาสักสามสี่วันได้ หลังจากจัดเกมงูไปยาวๆ)

โค้ดปีนี้ครับ (Gist มันแยกไฟล์ไม่ได้ ผมลืมไปว่าต้องโพสต์แยกกัน)

## A

ข้อ A ใช้วิธีง่ายๆ ครับคือหา intersect มา แล้วดูว่ามีกี่ตัว ถ้ามีตัวเดียวก็ตอบตัวนั้นเลย

## B

ข้อ B ผมเสียเวลาบั๊กไปหลายพักเพราะคำนวณ `timeToTargetIfFarm` ผิด ลืมคิดเวลาเก็บเงินซื้อฟาร์มไป (และมีคิดติดลบด้วย) พอแก้เติม `max(0, cookie-farm)` ไปให้ถูก และ `timeToTargetIfFarm += timeToNextFarm` ก็เรียบร้อย ผ่านไปถึง B-large เลย

## C

ข้อ C ผมใช้วิธีถมดำแล้วถมขาวจากซ้ายบนเอา โดยคิดเอาว่าต้องถมกี่แถวแล้วลองถมดู เช็คคำตอบด้วยการจิ้มซ้ายบนสุดแล้วหาว่ามีจุดที่ไม่ได้เปิดมั้ย ถ้าไม่มีก็ตอบ แต่ผิด ไม่รู้ผิดอะไรเหมือนกัน :/

## D

ข้อ D โจทย์ยาวมากครับ และมันไม่ได้ให้วิธีคิดมาด้วย ผมเองไม่ถนัดโจทย์แนวๆ optimization/game theory เลยเลยข้ามไปเลยแล้วกัน

จริงๆ ข้อ B ถ้าเป็นปีก่อนๆ ผมคงจะข้ามไปด้วย แต่ปีนีั้เห็นหลายคนทำแล้วเลยว่าจะทำมั่ง และ grader ผมเองเคยออกโจทย์แนวๆ นี้เหมือนกัน (แต่เป็น int หมด) เลยเอาวิธีคิดเดียวกับข้อที่ตัวเองออกมาใช้