B - 机器人的指令

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1112

分析:感觉这就是一个简单的模拟题,要注意一下的就是SAME指令最好分段输入

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 char a[10];
 6 int sum[101];//每走一步的位置变化
 7 char c[10];
 8 int main()
 9 {
10     int t,n,s;
11     scanf("%d",&t);
12     while(t--)
13     {
14         scanf("%d",&n);
15         memset(sum,0,sizeof(sum));
16         for(int i=1;i<=n;i++)
17         {
18  
19             cin>>a;//指令
20             if(a[0]=='L')
21             {
22                 sum[i]--;
23             }
24             else if(a[0]=='R')
25             {
26                 sum[i]++;
27             }
28             else if(a[0]=='S')//分段输入
29                 {
30                     int b;
31                     cin>>c;
32                     cin>>b;
33                     sum[i]=sum[b];
34                   }
35         }
36           s=0;
37             for(int i=1;i<=n;i++)
38              s+=sum[i];
39         printf("%d\n",s);
40     }
41     return 0;
42 }
View Code

 

posted @ 2016-08-16 19:53  踮起脚望天  阅读(191)  评论(0编辑  收藏  举报