1106 : นับเลข (Count)
Problem type : Batch
Time limit : 1.0 second(s)
Memory limit : 64 megabyte(s)

       คุณและเพื่อนๆของคุณอีก n-1 คน (นับรวมคุณเป็น n คน) นั่งเล่นเกมปัญญาอ่อนด้วยกัน ซึ่งมีกฎดังนี้

1.       1. ทุกคนจะนั่งกันเป็นวงกลมและจะติดหมายเลขประจำตัวโดยเริ่มจากคนที่ 1, 2, 3, … , n (คนที่หมายเลขต่างกัน 1 จะนั่งติดกันและคนหมายเลข n จะนั่งติดกับคนหมายเลข 1)

2.       2. เกมจะเริ่มโดยการกำหนดหมายเลข k ขึ้น

3.       3. คนที่มีหมายเลขของตนเป็น k จะต้องลุกออกจากวง จากนั้นคนที่นั่งถัดจากคนหมายเลข k จะต้องเริ่มนับเลข 1, คนถัดไปนับเลข 2 ไปเรื่อยๆ (จะไม่นับคนที่ออกจากวงไแล้ว) จนมีคนนับเลข k ขึ้น กำหนดให้คนที่นับเลข k คือคนหมายเลข i

4.       4. ทำตามข้อ 3 ซ้ำแต่เปลี่ยนค่า k ให้มีค่าเท่ากับ i

5.       5. เกมจะจบเมื่อเหลือคนเพียงคนเดียว ซึ่งก็คือผู้ชนะ

 

ตัวอย่าง

กำหนด n = 5 และ k = 2

เริ่มต้นที่ k = 2 ทำให้หมายเลข 2 ต้องออกไป (วงกลมสีแดง แสดงถึงหมายเลขที่ออกจากวงไปแล้วและจะไม่เกี่ยวข้องกับเกมอีก)

หลังจากนั้น หมายเลข 3 จะนับ “1”  หมายเลข 4 จะนับ “2”  ทำให้ k = 4 และหมายเลข 4 ต้องออกไป

 

หลังจากนั้น หมายเลข 5 จะนับ “1”  หมายเลข 1 จะนับ “2”  หมายเลข 3 จะนับ “3”  หมายเลข 5 จะนับ “4”  ทำให้ k = 5 และหมายเลข 5 ต้องออกไป

หลังจากนั้น หมายเลข 1 จะนับ “1”  หมายเลข 3 จะนับ “2”  หมายเลข 1 จะนับ “3”  หมายเลข 3 จะนับ “4”  หมายเลข 1 จะนับ “5”  ทำให้ k = 1 และหมายเลข 1 ต้องออกไป

จบการแข่งขัน หมายเลข 3 เป็นผู้ชนะ

กำหนดค่า n และ k จงหาหมายเลขของผู้ชนะ

ข้อมูลนำเข้า

บรรทัดแรกและบรรทัดเดียวประกอบด้วยจำนวนนับ n และ k ( 2 < n < 200 000 , 1 < k < n )

ข้อมูลส่งออก

บรรทัดแรกและบรรทัดเดียวแสดงหมายเลขของผู้ที่ชนะเกมการแข่งขันนี้


โจทย์โดย : สรวิทย์  สุริยกาญจน์ ( PS.int )

ที่มา : ศูนย์ สอวน. โรงเรียนมหิดลวิทยานุสรณ์


ตัวอย่างข้อมูลนำเข้า ตัวอย่างข้อมูลส่งออก
5 2 3
5 3 4
5 4 5

ความช่วยเหลือ: ไม่มีคำใบ้สำหรับปัญหานี้

กำลังออนไลน์: 18 ผู้เยี่ยมชมและ 0 สมาชิก (6 บอท)