Goran มีท่อนไม้ 5 ชิ้นเรียงกันตามลำดับ ท่อนไม้แต่ละชิ้นจะมีตัวเลขที่มีค่าจาก 1-5 สลักอยู่ด้านบน ดังนั้น ค่าของตัวเลขที่กำกับอยู่ด้านบนของท่อนไม้ในแต่ละชิ้นจะปรากฏแค่เพียงครั้งเดียวเท่านั้น
Goran ต้องการที่จะเรียงลำดับท่อนไม้แต่ละชิ้นให้มีค่า 1 2 3 4 5 ตามลำดับ โดยกระทำด้วยวิธีการดังนี้
1. ถ้าตัวเลขบนไม้ท่อนแรกมีค่ามากกว่าตัวเลขบนไม้ท่อนที่สอง ให้สลับที่กัน
2. ถ้าตัวเลขบนไม้ท่อนที่สองมีค่ามากกว่าตัวเลขบนไม้ท่อนที่สาม ให้สลับที่กัน
3. ถ้าตัวเลขบนไม้ท่อนที่สามมีค่ามากกว่าตัวเลขบนไม้ท่อนที่สี่ ให้สลับที่กัน
4. ถ้าตัวเลขบนไม้ท่อนที่สี่มีค่ามากกว่าตัวเลขบนไม้ท่อนที่ห้า ให้สลับที่กัน
5. ถ้าท่อนไม้ทั้งหมดยังไม่เรียงกันตามลำดับ 1 2 3 4 5 ให้กลับไปทำขั้นที่ 1 ใหม่
งานของคุณ
จงเขียนโปรแกรมเพื่อรับค่าของตัวเลขบนท่อนไม้ตามลำดับในตอนเริ่มต้น และแสดงผลค่าของตัวเลขบนท่อนไม้ตามลำดับที่ได้หลังจากการสลับที่ในแต่ละครั้ง
ข้อมูลนำเข้า
ในบรรทัดแรก ประกอบด้วยค่าของตัวเลขบนท่อนไม้ทั้ง 5 ท่อน ตามลำดับ ซึ่งแยกกันโดยใช้ช่องว่าง 1 ช่อง
ตัวเลขทั้งหมดจะต้องมีค่าจาก 1 ถึง 5 และไม่มีตัวเลขใดมีค่าซ้ำกัน
ค่าของตัวเลขบนท่อนไม้ในตอนเริ่มต้น จะต้องไม่ใช่ 1 2 3 4 และ 5 ตามลำดับ
ข้อมูลส่งออก
หลังจากท่อนไม้ 2 ท่อนใด ๆ ถูกสลับที่กัน ให้แสดงผลค่าของตัวเลขบนท่อนไม้เหล่านั้นซึ่งเรียงกันตามลำดับ ลงบนบรรทัดเดียวกัน โดยใช้ช่องว่างแยกตัวเลขแต่ละตัวออกจากกัน
ที่มา: COCI 2008/2009, Contest #4 – January 17, 2009
ตัวอย่างข้อมูลนำเข้า | ตัวอย่างข้อมูลส่งออก |
2 1 5 3 4 | 1 2 5 3 4
1 2 3 5 4
1 2 3 4 5 |
2 3 4 5 1 | 2 3 4 1 5
2 3 1 4 5
2 1 3 4 5
1 2 3 4 5 |
ความช่วยเหลือ: ไม่มีคำใบ้สำหรับปัญหานี้