题目链接: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 }
时间: 2024-12-24 10:18:39