โจทย์ Inception Watch นาฬิกาฝันซ้อนฝัน ACM ICPC 2010
http://www.acmicpc-thailand.org/thailand/2010/national/ACM-TH2010-ContestResults/problemA/problemA-InceptionWatch.pdf
Problem Explanation (in Thai)
การแก้ปัญหาในข้อนี้ใช้การคำนวณทางคณิตศาสตร์ธรรมดา เพื่อค่าหาเวลาที่ผ่านไปของแต่ละชั้นให้แปลงเวลาทั้งหมดเป็นหน่วยวินาที
ตอนแรกต้องหาค่าเวลา(วินาที) ณ จุดที่เข้าไปสู่ฝันชั้นถัดไป (Tnext) ให้ทำจากฝันชั้นแรกไปยังชั้นสุดท้าย
จากนั้น ให้คำนวณกลับจากชั้นสุดท้ายมายังชั้นแรก ในชั้นสุดท้าย (level n) จะคำนวณเวลาของ Tsk ที่ชั้นนั้นได้โดยตรง ส่วนชั้น n-1 ต้องเอาเวลาทั้งหมด(elapsed time) ของชั้น n หารด้วย 12 แล้วบวกกับ Tnext ของชั้นนั้น ก็จะได้ Tsk ของชั้น n-1
เฉลยแบบ JAVA ไปที่เว็บนี้เลยครับ
http://www.go2hack.com/index.php?topic=206.0
|