ผลต่างระหว่างรุ่นของ "Ontak-07-hyperclock"
Jittat (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย ''''Hyperclock''' Source: [http://main.edu.pl/en/archive/ontak/2007/hip] Brainy Smurf ได้สรุปว่าวันหนึ...') |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 6: | แถว 6: | ||
Hyperclock ประกอบไปด้วยนาฬิกา '''N''' เรือน แต่ละเรือนมีเข็มนาฬิกาเดียวและมีตัวเลขอยู่บนนั้น สำหรับ '''1 <= i <= N''' จะมีตัวเลข 1 ถึง '''ki''' เมื่อเริ่มต้น เข็มนาฬิกาทุกเรือนจะชี้ที่เลข 1 เงื่อนไขขอปริศนาเป็นดังนี้ | Hyperclock ประกอบไปด้วยนาฬิกา '''N''' เรือน แต่ละเรือนมีเข็มนาฬิกาเดียวและมีตัวเลขอยู่บนนั้น สำหรับ '''1 <= i <= N''' จะมีตัวเลข 1 ถึง '''ki''' เมื่อเริ่มต้น เข็มนาฬิกาทุกเรือนจะชี้ที่เลข 1 เงื่อนไขขอปริศนาเป็นดังนี้ | ||
+ | |||
+ | : ''คุณจะต้องปรับนาฬิกา ในแต่ละรอบที่คุณปรับ คุณสามารถปรับเข็มนาฬิกาเรือนใดก็ได้หนึ่งเรือน จะปรับไปตามเข็มหรือทวนเข็มก็ได้ และในรอบสุดท้าย เข็มนาฬิกาทุกเรือนจะต้องกลับมาที่ตำแหน่งเริ่มต้น นอกจากนี้ ระหว่างการปรับนาฬิการ ทุก ๆ รูปแบบที่เป็นไปได้ของเข็มนาฬิกาจะต้องปรากฏหนึ่งครั้งพอดี'' | ||
+ | |||
+ | ช่วยเขาหน่อย! | ||
+ | |||
+ | '''Input''' | ||
+ | |||
+ | บรรทัดแรกจะมีจำนวนเต็มหนึ่งจำนวนคือ '''N''' จากนั้นแต่ละบรรทัดถัดไปจะระบุจำนวนเต็มหนึ่งจำนวนที่มีค่ามากกว่า '''1''' กล่าวคือ ในบรรทัดที่ '''i+1''' จะระบุจำนวนเต็ม '''ki''' จำนวนรูปแบบที่เป็นไปได้ นั่นคือ '''k1 x k2 x k3 x ... x kN''' จะมีค่าไม่เกิน 10<sup>6</sup> | ||
+ | |||
+ | '''Output''' | ||
+ | |||
+ | ถ้าไม่มีคำตอบให้พิมพ์ '''NIE''' ไม่ใช่นั้น ให้พิมพ์คำตอบจำนวน '''k1 x k2 x k3 x ... x kN''' แถว แต่ละแถวระบุจำนวนเต็มสองจำนวน จำนวนแรกคือหมายเลขของนาฬิกาที่จะหมุน จำนวนที่สองระบุทิศทาง โดยที่ 1 แทนทิศตามเข็มนาฬิกา และ -1 แทนทิศทวนเข็มนาฬิกา ถ้ามีคำตอบที่เป็นไปได้หลายแบบ คุณสามารถตอบแบบใดก็ได้ | ||
+ | |||
+ | '''ตัวอย่าง''' | ||
+ | |||
+ | สำหรับข้อมูลนำเข้า: | ||
+ | |||
+ | 3 | ||
+ | 2 | ||
+ | 2 | ||
+ | 3 | ||
+ | |||
+ | คำตอบหนึ่งที่เป็นไปได้คือ: | ||
+ | |||
+ | 1 1 | ||
+ | 2 1 | ||
+ | 1 -1 | ||
+ | 3 1 | ||
+ | 1 1 | ||
+ | 2 -1 | ||
+ | 3 1 | ||
+ | 2 1 | ||
+ | 1 -1 | ||
+ | 2 -1 | ||
+ | 3 -1 | ||
+ | 3 -1 | ||
+ | |||
+ | Task author: Jakub Pawlewicz (story by Tomasz Idziaszek). |
รุ่นแก้ไขเมื่อ 02:21, 16 พฤษภาคม 2556
Hyperclock
Source: [1]
Brainy Smurf ได้สรุปว่าวันหนึ่งนั้นช่างสั้นยิ่งนัก เขาจึงเขียนหนังสือ Quotations of Brainy Smurf ไม่จบสักที เขาตัดสินใจที่จะไปพบกับ Father Time เพื่อขอร้องให้เพิ่มเวลาในแต่ละวันเป็น 48 ชั่วโมง Father Time ไม่ต้องการทำตามคำขอ จึงได้บอกให้ Brainy Smurf แก้ปริศนา Hyperclock ให้ได้เสียก่อย
Hyperclock ประกอบไปด้วยนาฬิกา N เรือน แต่ละเรือนมีเข็มนาฬิกาเดียวและมีตัวเลขอยู่บนนั้น สำหรับ 1 <= i <= N จะมีตัวเลข 1 ถึง ki เมื่อเริ่มต้น เข็มนาฬิกาทุกเรือนจะชี้ที่เลข 1 เงื่อนไขขอปริศนาเป็นดังนี้
- คุณจะต้องปรับนาฬิกา ในแต่ละรอบที่คุณปรับ คุณสามารถปรับเข็มนาฬิกาเรือนใดก็ได้หนึ่งเรือน จะปรับไปตามเข็มหรือทวนเข็มก็ได้ และในรอบสุดท้าย เข็มนาฬิกาทุกเรือนจะต้องกลับมาที่ตำแหน่งเริ่มต้น นอกจากนี้ ระหว่างการปรับนาฬิการ ทุก ๆ รูปแบบที่เป็นไปได้ของเข็มนาฬิกาจะต้องปรากฏหนึ่งครั้งพอดี
ช่วยเขาหน่อย!
Input
บรรทัดแรกจะมีจำนวนเต็มหนึ่งจำนวนคือ N จากนั้นแต่ละบรรทัดถัดไปจะระบุจำนวนเต็มหนึ่งจำนวนที่มีค่ามากกว่า 1 กล่าวคือ ในบรรทัดที่ i+1 จะระบุจำนวนเต็ม ki จำนวนรูปแบบที่เป็นไปได้ นั่นคือ k1 x k2 x k3 x ... x kN จะมีค่าไม่เกิน 106
Output
ถ้าไม่มีคำตอบให้พิมพ์ NIE ไม่ใช่นั้น ให้พิมพ์คำตอบจำนวน k1 x k2 x k3 x ... x kN แถว แต่ละแถวระบุจำนวนเต็มสองจำนวน จำนวนแรกคือหมายเลขของนาฬิกาที่จะหมุน จำนวนที่สองระบุทิศทาง โดยที่ 1 แทนทิศตามเข็มนาฬิกา และ -1 แทนทิศทวนเข็มนาฬิกา ถ้ามีคำตอบที่เป็นไปได้หลายแบบ คุณสามารถตอบแบบใดก็ได้
ตัวอย่าง
สำหรับข้อมูลนำเข้า:
3 2 2 3
คำตอบหนึ่งที่เป็นไปได้คือ:
1 1 2 1 1 -1 3 1 1 1 2 -1 3 1 2 1 1 -1 2 -1 3 -1 3 -1
Task author: Jakub Pawlewicz (story by Tomasz Idziaszek).