本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2021-05-07 16:00:53
思路
每次输入玩 $n$ 之后,$n$ 次循环,判断一下 $s[0]$ 。如果是 L,就让存储位置的变量减一,$a_{i}$ 等于 -1;如果是 R,就让存储位置的变量加1,$a_{i}$ 等于 1;如果是 S,就先把后面的 AS 读进来,然后再读一个变量 $p$,让存储位置的变量加上 $a_{p}$,$a_{i}$ 等于 $a_{p}$。
代码
#include <iostream>
#include <cmath>
#include <string>
#include <algorithm>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int sum=0,a[105],n,p;
cin>>n;
for(int i=1;i<=n;++i){
string s;
cin>>s;
switch(s[0]){
case 'L':{
--sum;
a[i]=-1;
break;
}
case 'R':{
++sum;
a[i]=1;
break;
}
case 'S':{
cin>>s;
cin>>p;
sum+=a[p];
a[i]=a[p];
break;
}
}
}
cout<<sum<<endl;
}
return 0;
}

鲁ICP备2025150228号