................ edit
................ edit
Lâu lắm em mới nhờ được mấy anh đây, giải hộ em tí.
Có một con robot đang đứng trên vị trí 0,0 của mặt phẳng tọa độ và hướng theo chiều dương của trục hoàng. Lần lượt nhập các lệnh vào :
L S : quẹo trái 90 độ S bước; R S : quẹo phải 90 độ S bước, S S : đi thẳng theo hướng hiện tại S bước.
Nhập file in với dòng đầu tiên in số N và N dòng tiếp theo chứa lệnh như trên, xuất ra file out là tọa độ x,y của con robot sau khi di chuyển.
VD : fin : 2
L 2
R 4
fout : 4 2
Các huynh giải hộ em nha
Huynh oi, nếu thế thì đệ hỏi huynh làm gì, nếu như mà robot quay đầu thì nó đâu còn đúng nữa đâu
Bạn phải thêm một tham số là hướng vào nữa :
H = 0 là hướng lên trên
H = 1 là hướng sang trái
H = 2 là hướng xuống dưới
H = 3 là hướng sang phải.
Hướng này là hướng trong trục tọa độ (tức là hướng thực) Mình luôn luôn duy trì xem con Robot đang hướng về phía nào.
Ban đầu :
Tọa độ : x,y; H = 0(Ban đầu hướng lên trên)
Nếu gặp 'S' :
+ H = 0 : y = y + S,x và H giữ nguyên.
+ H = 1 : x = x + S,y và H giữ nguyên.
+ H = 2 : y = y - S,x và H giữ nguyên.
+ H = 3 : x = x - S,y và H giữ nguyên.
Nếu gặp 'L' :
+ H = 0 : x = x - S,H = 1, y giữ nguyên.
+ H = 1 : y = y - S,H = 2, x giữ nguyên.
+ H = 2 : x = x + S,H = 3, y giữ nguyên.
+ H = 3 : y = y + S,H = 0, x giữ nguyên.
Nếu gặp 'R' :
+ H = 0 : x = x + S,H = 3,y giữ nguyên.
+ H = 1 : y = y + S,H = 0, x giữ nguyên.
+ H = 2 : x = x - S,H = 1, y giữ nguyên.
+ H = 3 : y = y - S,H = 2, x giữ nguyên.
^ ^
Cái này làm mình nhớ đến một ngôn ngữ lập trình khá "khoai", đó là Hibert hay "H" - lập trình cho robot. l/r để quay trái phải, s để đi thẳng.
Cảm ơn mấy huynh nhiều nha, đệ làm được rồi.
Viet chương trìnhin ra tam giac cân với chiều cao nhập từ ban phím co dang
x
***
***xx
******x
Bookmarks