ZZULIOJ 1070 小汽車的位置

2021-10-10 13:47:07 字數 1372 閱讀 6533

題目描述

有一輛智慧型小車,最初(時間為0)的位置為(0,0),我們想知道它最後的位置。小車以每小時10公里的速度向北移動(以北為y軸正向,以東為x軸正向)。小車會受到一系列依照時間戳記排序的命令,1表示「向左轉」,2表示「向右轉」,3表「停止」。每個命令的前面有乙個時間戳記,所以我們知道該命令是何時發出的。最後乙個命令一定是「停止」。我們另外假設,這輛小車非常靈活,它可以在瞬間轉彎。

以下列輸入為例。小車在時間為5的時候收到乙個「向左轉」的命令1,在時間10收到乙個「向右轉」的命令2,在時間15收到乙個「停止」的命令3。那麼在最後時間15的時候,小車的位置將在(-50,100)。程式只要求輸出小車最後的位置,第乙個整數是x座標,第二個整數是y座標。

輸入

輸入包含多個命令,每個命令由整數time和command組成,表示在時刻time發出命令command。command的取值範圍1-3,含義如上所述。

輸出

輸出佔一行,包含兩個整數,表示小車的最終位置。兩個整數之間由空格隔開。

樣例輸入

5110

2153

樣例輸出

-

50100

看題目難度標識就知道這題不簡單,但實際上綜合考慮一下,去嘗試建立方向座標,這對後面圖的遍歷等等學習都有好處。不過不知道為啥我修改了的**ac不了,這裡還是用下我ac過的**吧。這裡的~scanf相當於scanf!=eof,都行。根據個人喜好吧。

#include

intmain()

if(commond==3)

break

;//如果命令是3,停止

else

if(commond==

1) n=n-1;

//如果命令是1,向左轉,n-1

else

if(commond==

2) n=n+1;

//如果命令是2,向右轉,n+1

n=(n+4)%

4;//對4取模改變方向,確保範圍0~3

w=time;

//w記錄上次的時間

}printf

("%d %d"

,x,y)

;//輸出小車的橫座標和縱座標

}

ZZULIOJ 1070 小汽車的位置

有一輛智慧型小車,最初 時間為0 的位置為 0,0 我們想知道它最後的位置。小車以每小時10公里的速度向北移動 以北為y軸正向,以東為x軸正向 小車會受到一系列依照時間戳記排序的命令,1表示 向左轉 2表示 向右轉 3表 停止 每個命令的前面有乙個時間戳記,所以我們知道該命令是何時發出的。最後乙個命...

輕院1070 小汽車的位置

有一輛智慧型小車,最初 時間為0 的位置為 0,0 我們想知道它最後的位置。小車以每小時10公里的速度向北移動 以北為y軸正向,以東為x軸正向 小車會受到一系列依照時間戳記排序的命令,1表示 向左轉 2表示 向右轉 3表 停止 每個命令的前面有乙個時間戳記,所以我們知道該命令是何時發出的。最後乙個命...

HAUTOJ 1070 小汽車的位置

題目描述 有一輛智慧型小車,最初 時間為0 的位置為 0,0 我們想知道它最後的位置。小車以每小時10公里的速度向北移動 以北為y軸正向,以東為x軸正向 小車會受到一系列依照時間戳記排序的命令,1表示 向左轉 2表示 向右轉 3表 停止 每個命令的前面有乙個時間戳記,所以我們知道該命令是何時發出的。...