กาลครั้งหนึ่ง มีเด็กคนหนึ่งชื่อ Kino ซึ่งชอบเดินทางมากและเคยไปยังสถานที่แปลกประหลาดมากมาย วันหนึ่งเขามาถึงสะพานแห่งหนึ่งและพบว่ามีรถเปิดประทุนจอดอยู่บนสะพานหลายคัน โชคร้ายที่สะพานแคบมากจนรถเปิดประทุนผ่านได้ครั้งละคันเท่านั้น แต่รถบนสะพานต่างไม่ยอมหลีกทางให้กัน ทำให้รถจากทั้งสองทิศทางติดอยู่ด้วยกันและไม่สามารถผ่านไปได้
ต่อมา ผู้สร้างสะพานเพิ่มความสามารถใหม่ให้สะพาน โดยสามารถหมุนสะพานบางช่วงได้ $180$ องศา ทำให้รถเปิดประทุนบนช่วงนั้นกลับหัวกลับท้าย ดังภาพต่อไปนี้:
ภาพที่ 1 รถเปิดประทุน 321 กลายเป็น 123 หลังการหมุน
ดังภาพ เมื่อรถเปิดประทุน $3,2,1$ พบกับรถ $4,5$ บนสะพาน ก็เกิดการจราจรติดขัด เราสามารถหมุนช่วงที่มีรถ $3,2,1$ ทำให้ลำดับรถบนสะพานกลายเป็น $1,2,3,4,5$ และรถทุกคันหันไปทางเดียวกัน จึงสามารถขับลงจากสะพานได้ แน่นอนว่านี่เป็นเพียงตัวอย่างง่าย ๆ สถานการณ์บนสะพานจริงซับซ้อนกว่านี้มาก และต้องหมุนหลายครั้งจึงจะได้รูปแบบ $1,2,3,4,5$
แต่หลังออกแบบสะพานเสร็จ ผู้ออกแบบก็ออกเดินทางเช่นกัน ไม่มีชาวบ้านที่เหลืออยู่คนใดควบคุมสะพานมหัศจรรย์นี้เป็น รถบนสะพานจึงยิ่งสับสนวุ่นวาย จนในที่สุดวันหนึ่งกลายเป็นสถานการณ์ปัจจุบัน เพื่อข้ามสะพาน Kino พบอุปกรณ์ควบคุมและคู่มืออยู่ข้างสะพาน จึงค้นพบวิธีควบคุมสะพานอีกครั้ง ด้วยความช่วยเหลือของชาวบ้านใกล้เคียง เขาจัดรถบนสะพานให้เรียงเป็น $1,2,3,\ldots$ และหันไปทางเดียวกันได้สำเร็จ คุณรู้หรือไม่ว่าเขาทำอย่างไร?
ข้อมูลนำเข้า
ข้อนี้เป็นโจทย์แบบส่งเฉพาะคำตอบ ไฟล์นำเข้า convertible1.in ถึง convertible10.in อยู่ในไดเรกทอรีของผู้ใช้แล้ว บรรทัดแรกของไฟล์นำเข้าระบุจำนวนรถเปิดประทุนบนสะพาน $n$ ซึ่งรถมีหมายเลข $1,2,\ldots,n$ บรรทัดที่สองระบุตำแหน่งและทิศทางของรถบนสะพานด้วยลำดับของ $+i$ หรือ $-i$ หากตำแหน่งที่ $j$ เป็น $-i$ หมายถึงมีรถหมายเลข $i$ อยู่ที่ตำแหน่งที่ $j$ ของสะพานและหันไปทางขวา หากเป็น $+i$ หมายถึงรถหมายเลข $i$ อยู่ที่ตำแหน่งที่ $j$ และหันไปทางซ้าย
ข้อมูลส่งออก
คุณต้องวางไฟล์ส่งออก convertible1.out ถึง convertible10.out ไว้ในไดเรกทอรีของผู้ใช้ โดยไม่ต้องส่งโปรแกรม บรรทัดแรกของไฟล์ส่งออกระบุจำนวนครั้งที่หมุน $m$ จากนั้นอีก $m$ บรรทัด แต่ละบรรทัดระบุการหมุนหนึ่งครั้ง โดยให้ตำแหน่งขอบเขตซ้ายและขอบเขตขวา คำตอบของคุณต้องทำให้ลำดับสุดท้ายเป็น $1,2,3,\ldots,n$ ไม่ใช่ $-1,-2,-3,\ldots,-n$ หรือรูปแบบอื่น
ตัวอย่าง
ข้อมูลนำเข้า 1
5 -3 -2 -1 4 5
ข้อมูลส่งออก 1
1 1 3
งานย่อย
แต่ละกรณีทดสอบมีคะแนนเต็ม 10 คะแนน คะแนนที่ได้ขึ้นอยู่กับอัตราส่วนคุณภาพคำตอบของคุณต่อคำตอบอ้างอิง
วิธีทดสอบโปรแกรมของคุณ
โจทย์นี้มีโปรแกรมตรวจสอบข้อมูลส่งออก convertible_c ให้ ใช้งานดังนี้:
#./convertible_c 3
คำสั่งนี้ตรวจสอบว่า convertible3.out ถูกต้องตามข้อกำหนดหรือไม่