วังเยาวชนบางแห่งแนะนำชุดของรถหุ่นยนต์ คุณสามารถยอมรับคำแนะนำที่ป้อนล่วงหน้าและปฏิบัติตามได้ การเคลื่อนไหวพื้นฐานของรถยนต์นั้นง่ายมากมีเพียง 3 ประเภทเท่านั้น: เลี้ยวซ้าย (บันทึกเป็น L) เลี้ยวขวา (บันทึกเป็น R) และเดินไปข้างหน้าไม่กี่เซนติเมตร (บันทึกโดยตรง)
ตัวอย่างเช่นเราสามารถป้อนคำสั่งต่อไปนี้ไปยังรถ:
15L10R5LRR10R20
จากนั้นรถจะไปตรง 15 ซม. เลี้ยวซ้ายจากนั้นเดิน 10 ซม. จากนั้นเลี้ยวขวา ...
ไม่ยากที่จะเห็นว่าสำหรับสตริงคำสั่งนี้รถกลับไปที่จุดเริ่มต้น
งานของคุณคือ: เขียนโปรแกรมคำแนะนำการป้อนข้อมูลโดยผู้ใช้และโปรแกรมจะส่งออกระยะทางเส้นตรงระหว่างตำแหน่งรถยนต์หลังจากดำเนินการแต่ละคำสั่งและตำแหน่งรถยนต์ก่อนที่จะดำเนินการคำสั่ง
[ข้อกำหนดรูปแบบอินพุตและเอาต์พุต]
ผู้ใช้แรกเข้าสู่จำนวนเต็ม N (n <100) ซึ่งระบุว่าจะมีคำแนะนำ N ต่อไป
ถัดไปป้อนคำแนะนำ n แต่ละคำสั่งประกอบด้วย L, R และตัวเลขเท่านั้น (ตัวเลขเป็นจำนวนเต็มระหว่าง 0 ถึง 100)
แต่ละคำสั่งมีความยาวไม่เกิน 256 อักขระ
โปรแกรมเอาต์พุต N บรรทัดผลลัพธ์
แต่ละผลลัพธ์แสดงถึงระยะทางเส้นตรงระหว่างตำแหน่งด้านหน้าและด้านหลังของการขนส่งเมื่อดำเนินการคำสั่งที่สอดคล้องกัน ต้องมีการปัดเศษเป็นทศนิยม 2 ตำแหน่ง
ตัวอย่างเช่น: อินพุตผู้ใช้:
5
L100R50R10
3lll5rr4l12
LL
100R
5L5L5L5
จากนั้นเอาต์พุตโปรแกรม:
102.96
9.06
0.00
100.00
0.00
รหัส:
นำเข้า Java.util.*; คลาส Fushu {สาธารณะสองเท่า; ภาพสองภาพสาธารณะ; Fushu สาธารณะ () {real = 0; รูปภาพ = 0; } public fushu (double r, double i) {real = r; รูปภาพ = i; } สาธารณะ fushu dot (fushu x) {fushu r = new fushu (); R.Real = Real * X.Real - Image * X.Image; r.image = จริง * x.image + ภาพ * x.real; Return R; } สาธารณะ fushu dot (double r, double i) {fushu t = new fushu (); T.Real = Real * R - Image * i; t.image = real * i + image * r; กลับ t; }} คลาสหุ่นยนต์ {ส่วนตัว int x = 0; ส่วนตัว int y = 0; Private Fushu Dir = New Fushu (1,0); โมฆะสาธารณะเดิน (สตริง s) {int sum = 0; สำหรับ (int i = 0; i <s.length (); i ++) {char c = s.charat (i); if (c == 'l' || c == 'r') {x += sum * dir.real; y += sum * dir.image; ผลรวม = 0; ถ้า (c == 'l') dir = dir.dot (0,1); else dir = dir.dot (0, -1); } else sum = sum * 10 + (c-'0 '); } x += sum * dir.real; y += sum * dir.image; } โมฆะสาธารณะแสดง () {double d = math.sqrt (x*x + y*y); System.out.println (x + "," + y + "dir:" + dir.real + "," + dir.image + ", d =" + d); }} การเดินระดับสาธารณะ {โมฆะสาธารณะคงที่หลัก (สตริง [] args) โยนข้อยกเว้น {หุ่นยนต์ t = ใหม่หุ่นยนต์ (); T.walk ("3R4"); T.Show (); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น