ย้อนกลับส่งโค้ด
สถิติเวลาน้อยที่สุดสถิติทั้งหมด
ในการเดินทางผจญภัยเพื่อค้นหาขุมทรัพย์ จะมีการใช้แผนที่ซึ่งเป็นสิ่งจำเป็นในการเดินทางเพื่อบอกทิศทางและระยะทางนำไปสู่ขุมทรัพย์ โดยสำหรับทิศทางจะใช้สัญลักษณ์ดังนี้
N แทน ทิศเหนือ
NE แทน ทิศตะวันออกเฉียงเหนือ
E แทน ทิศตะวันออก
SE แทน ทิศตะวันออกเฉียงใต้
S แทน ทิศใต้
SW แทน ทิศตะวันตกเฉียงใต้
W แทน ทิศตะวันตก
NW แทน ทิศตะวันตกเฉียงเหนือ
สูตรในการหาระยะทางของตำแหน่งพิกัด และตำแหน่งพิกัด คำนวณได้ดังนี้
โดยการเดินทางเริ่มต้นที่พิกัด (0, 0)
ตัวอย่าง
5SE หมายถึงเดินทางไปทิศตะวันออกเฉียงใต้ 5 หน่วย 3N 1E 1N 3E 2S 1W หมายถึงการเดินทางแสดงดังรูปที่ 1
คำสั่ง
จงเขียนโปรแกรมเพื่อคำนวณหาพิกัดของขุมทรัพย์ (x, y) และหาระยะห่างระหว่างจุดเริ่มต้น (0,0) ไปยังพิกัดของขุมทรัพย์
ข้อมูลนำเข้า
ข้อมูลนำเข้ามี 1 บรรทัด ประกอบด้วยระยะทางและทิศทางการเดินทาง n ชุด (1≤n≤500) แต่ละชุดคั่นด้วยช่องว่างหนึ่งช่อง ในแต่ละชุดประกอบด้วยจำนวนเต็มบวก k (1≤k≤999) เพื่อบอกระยะทาง และตัวอักษรหนึ่งหรือสองตัวเพื่อบอกทิศทาง ข้อมูลชุดสุดท้ายจะมีเฉพาะตัวอักขระ * เพื่อบอกการสิ้นสุดของชุดข้อมูล
ข้อมูลส่งออก
ให้แสดงผลลัพธ์ดังนี้
1. บรรทัดแรกให้แสดงพิกัดของขุมทรัพย์ โดยแสดงเป็นลำดับตัวเลขของแกน x และแกน y ทศนิยม 3 ตำแหน่ง โดยคั่นข้อมูลด้วยช่องว่างหนึ่งช่อง
2. บรรทัดที่ 2 ให้บอกระยะห่างจากจุดเริ่มต้น (0,0) ไปยังพิกัดของขุมทรัพย์ (x, y) เป็นตัวเลขซึ่งมีจุดทศนิยม 3 ตำแหน่ง
ข้อแนะนำ
1. ให้ใช้ ”%.3f” เป็นรูปแบบของการแสดงผลเมื่อใช้คำสั่ง printf
2. เพื่อความแม่นยำในการคำนวณให้ประกาศตัวแปรด้วยแบบ double แทนการใช้ float
ที่มา : การแข่งขันคอมพิวเตอร์โอลิมปิก สอวน. ครั้งที่ 3 มหาวิทยาลัยขอนแก่น ตัวอย่างข้อมูลนำเข้า ตัวอย่างข้อมูลส่งออก 3N 1E 1N 3E 2S 1W * 3.000 2.000
3.606
ความช่วยเหลือ: ไม่มีคำใบ้สำหรับปัญหานี้
กำลังออนไลน์: 26 ผู้เยี่ยมชมและ 0 สมาชิก (1 บอท)