This repository was 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
Expand file tree
/
Copy path1010.html
More file actions
40 lines (39 loc) · 5.11 KB
/
1010.html
File metadata and controls
40 lines (39 loc) · 5.11 KB
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
38
39
40
กำหนดตารางของตัวอักษรขนาด m x n เมื่อ 1 ≤ m ≤ 25 และ 1 ≤ n ≤ 25 จงเขียนโปรแกรมค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการในตารางดังกล่าว โดยให้ถือว่าตัวอักษรพิมพ์เล็กและตัวอักษรพิมพ์ใหญ่ เช่น A และ a ถือว่าเป็นตัวเดียวกัน การค้นคำสามารถทำได้ทั้งในแนวตั้ง แนวนอน และแนวทแยง ไม่ว่าจะเป็นการอ่านจากซ้ายไปขวา ขวาไปซ้าย บนลงล่าง หรือล่างขึ้นบน รวมทั้งหมดแปดทิศทาง คำที่ค้นได้ต้องมีลำดับตัวอักษรต่อเนื่องเช่นเดียวกันกับคำที่ต้องการค้น <b><br />
</b><u><b><br />
ข้อมูลนำเข้า</b></u><br />
ข้อมูลนำเข้าแต่ละชุดประกอบด้วย <br />
<strong>1.</strong> บรรทัดแรกเป็นจำนวนเต็มบวกสองจำนวนคั่นด้วยเว้นวรรค 1 วรรค จำนวนแรกเป็นจำนวนแถวของตารางตัวอักษร (m) และจำนวนที่สองเป็นจำนวนตัวอักษรทั้งหมดในแถว (n) <br />
<strong>2.</strong> บรรทัดต่อมาเป็นข้อมูลแต่ละแถวของตารางตัวอักษรทุกแถวตามจำนวนแถวที่กำหนดไว้ โดยตัวอักษรในตารางมีเฉพาะอักษรภาษาอังกฤษตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กคละกันเท่านั้น <br />
<strong>3. </strong>บรรทัดต่อมาเป็นจำนวนคำทั้งหมดที่ต้องการค้นหา (k) ในตาราง ซึ่งค่า k นี้เป็นจำนวนเต็มบวกจำนวนเดียว และ 1 ≤ k ≤ 100 แต่ละคำมีความยาวตั้งแต่ 1 ถึง 15 ตัวอักษร <br />
<strong>4. </strong>บรรทัดต่อมาเป็นคำที่ต้องการค้นหา แต่ละบรรทัดมีเพียงคำเดียวและมีจำนวนบรรทัดเท่ากับที่กำหนดไว้ในข้อ 3 <br />
<strong>5.</strong> คำที่ต้องการค้นหาทุกคำเป็นคำที่มีปรากฏในตารางอย่างน้อยหนึ่งครั้ง <b><br />
<br />
</b><u><b>ข้อมูลส่งออก</b></u><br />
ข้อมูลส่งออกมีจำนวนบรรทัดเท่ากับจำนวนคำที่ต้องการค้นหา เมื่อพบคำที่ต้องการแล้วผลลัพธ์ แต่ละบรรทัดประกอบด้วย หมายเลขบรรทัด และตำแหน่งเริ่มต้นของคำในบรรทัดนั้น โดยคำแต่ละคำแสดงเฉพาะตำแหน่งของตัวอักษรเริ่มต้นเพียงตำแหน่งเดียว ในกรณีที่พบคำที่ต้องการค้นในตารางหลายตำแหน่ง ให้ถือเอาตำแหน่งบนสุดและซ้ายสุดเป็นคำตอบ กำหนดให้แถวแรกที่อยู่ด้านบนสุดของตารางเป็นแถวที่ 0 และกำหนดให้คอลัมน์แรกที่อยู่ด้านซ้ายมือสุดของบรรทัด เป็นคอลัมน์ที่ 0 <b><br />
<br />
<u>ที่มา</u>: การแข่งขันคอมพิวเตอร์โอลิมปิก สอวน. ครั้งที่ 2 มหาวิทยาลัยบูรพา</b>
<table>
<tr>
<th>ข้อมูลนำเข้า</th>
<th>ข้อมูลส่งออก</th>
</tr>
<tr>
<td>8 11
<br />ascDEFGhigg
<br />hTqkComPutk
<br />FayUcompuTm
<br />FcsierMqsrc
<br />bkoArUePeyv
<br />Klcbqwekumk
<br />sreTNIophtb
<br />yUiqlxcnBje
<br />4
<br />Compute
<br />Queue
<br />stack
<br />Pointer</td>
<td>1 4
<br />1 2
<br />0 1
<br />6 7</td>
</tr></table>