CSU 1112 機器人的指令 (湖南省第八屆大學生計算機程式設計競賽 )
阿新 • • 發佈:2019-02-07
1112: 機器人的指令
Time Limit:
1 Sec Memory Limit:
128 Mb Submitted:
2335 Solved:
841 Description
數軸原點有一個機器人。該機器人將執行一系列指令,你的任務是預測所有指令執行完畢之後它的位置。
·LEFT:往左移動一個單位
·RIGHT: 往右移動一個單位
·SAME AS i: 和第i 條執行相同的動作。輸入保證i 是一個正整數,且不超過之前執行指令數
Input
輸入第一行為資料組數T (T<=100)。每組資料第一行為整數n (1<=n<=100),即指令條數。以下每行一條指令。指令按照輸入順序編號為1~n。
Output
對於每組資料,輸出機器人的最終位置。每處理完一組資料,機器人應復位到數軸原點。
Sample Input
2 3 LEFT RIGHT SAME AS 2 5 LEFT SAME AS 1 SAME AS 2 SAME AS 1 SAME AS 4
Sample Output
1 -5
解題思路:這題也是水題一個,注意處理好輸入就可以了。。。
程式碼如下:
#include <cstdio> #include <cstring> #include <cmath> #include <iostream> using namespace std; int main() { char s[10],ss[10]; int t,n,a,b[10001];///b陣列記錄操作 scanf("%d",&t); while(t--) { scanf("%d",&n); int ans=0; for(int i=1;i<=n;i++) { scanf("%s",s); if(s[0]=='L') {b[i]=-1; ans--;} else if(s[0]=='R') {b[i]=1; ans++;} else{ scanf("%s %d",ss,&a); b[i]=b[a]; ans+=b[a]; } } printf("%d\n",ans); } return 0; }