This repository has been archived by the owner on Apr 22, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1052.html
37 lines (36 loc) · 5.84 KB
/
1052.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<span style="font-family: Courier New;">มีโดมิโน N ชิ้นวางเรียงอยู่บนเส้นแนวแกน x ที่วางตามแนวซ้าย-ขวา จุดปลายด้านซ้ายของเส้นถือว่ามีพิกัดในแกน x เท่ากับ 0 เราจะเรียกโดมิโนเรียงตามลำดับจากปลายด้านซ้ายไปยังปลายด้านขวา โดยเริ่มจากชิ้นที่ 1 ไปจนถึงชิ้นที่ N โดมิโนชิ้นที่ I มีความสูง HI และวางอยู่บนเส้นที่มีพิกัดแกน x เท่ากับ XI ตัวอย่างการวาง (ในแนวด้านข้าง) แสดงดังรูป<br />
<br />
<center><img src="./img/1052/1052-1.gif" alt="" /></center><br />
<br />
ในการเล่นโดมิโนนั้น เราจะเลือกโดมิโนตัวแรกแล้วผลักไปทางด้านซ้ายหรือทางด้านขวาก็ได้ ถ้าโดมิโน “ล้ม” ไปโดนโดมิโนตัวใด ตัวที่ถูกล้มโดนจะล้มไปชนตัวอื่น ๆ ด้วย โดมิโนสามารถล้มออกไปนอกขอบของเส้นตรงด้านล่างได้<br />
<br />
อย่างไรก็ตาม เราถือว่าโดมิโนไม่มีความหนา ดังนั้นถ้าล้มไปแล้วปลายโดมิโนไปสัมผัสอีกตัวหนึ่งพอดี จะไม่มีการล้มต่อ ยกตัวอย่างเช่น ถ้ามีโดมิโนความสูง 1 หน่วยอยู่ที่ตำแหน่ง 10 และมีโดมิโนอีกชิ้นอยู่ที่ตำแหน่ง 11 ถ้าโดมิโนความสูง 1 หน่วย ถูกทำให้ล้มไปทางด้านขวา โดมิโนที่อยู่ที่ตำแหน่ง 11 จะไม่ล้มไปด้วย เพราะว่าไม่มีการชน (โดมิโนที่ล้มลงมาสัมผัสอีกอันพอดี)<br />
<br />
จงเขียนโปรแกรมรับข้อมูลของโดมิโน จากนั้นให้คำนวณหาโดมิโนตัวตั้งต้นที่เราควรจะไปผลัก (จะเป็นการผลักไปทางซ้ายหรือทางขวาก็ได้) เพื่อทำให้มีโดมิโนล้มลงมากที่สุด<br />
<br />
<u><strong>ข้อมูลนำเข้า</strong></u><br />
<strong>บรรทัดแรก</strong> ระบุจำนวนเต็ม N (1 <= N <= 100,000) จากนั้นอีก N บรรทัดจะระบุข้อมูลของโดมิโนแต่ละอัน กล่าวคือ <strong>บรรทัดที่ 1 + I </strong>จะระบุจำนวนเต็มสองจำนวน XI HI (1 <= XI <= 1,000,000,000; 1 <= HI <= 1,000,000,000) รับประกันว่า 0 <= XI < XI+1 สำหรับทุก ๆ 1 <= I < N<br />
<br />
<strong><u>ข้อมูลส่งออก</u></strong><br />
<strong>มีบรรทัดเดียว</strong> ประกอบไปด้วยจำนวนเต็ม J และอักขระ D โดยที่ J คือหมายเลขของโดมิโนที่ถ้าเราเริ่มผลัก และอักขระ D จะเป็นค่า L หรือ R เพื่อระบุทิศทางในการผลัก โดยที่ L แทนการผลักไปทางซ้าย และ R แทนการผลักไปทางขวา ถ้ามีโดมิโนหลายชิ้นที่พลักได้จำนวนเท่ากัน ให้ตอบตัวที่มีหมายเลขน้อยที่สุด และในกรณีที่พิจารณาโดมิโนตัวที่มีหมายเลยน้อยที่สุดแล้วผลักได้ทั้งสองทิศทาง ให้ตอบการผลักไปทางซ้าย<br />
<br />
<u><strong>ข้อมูลชุดทดสอบ</strong></u><br />
ไม่น้อยกว่า 20% ของข้อมูลชุดทดสอบมี N <= 1000<br />
<br />
<u><strong>ที่มา</strong></u><strong>: สอบปฏิบัติ ครั้งที่ 2 ค่ายคัดเลือกผู้แทนประเทศไทย ไปแข่งขันคอมพิวเตอร์โอลิมปิกระหว่างประเทศ ปี 2550 ค่ายที่ 1</strong><br />
</span>
<table>
<tr>
<th>ข้อมูลนำเข้า</th>
<th>ข้อมูลส่งออก</th>
</tr>
<tr>
<td>5
<br />1 1
<br />3 3
<br />5 4
<br />7 15
<br />10 3
<br /></td>
<td>2 R</td>
</tr></table>