Logo aaa 的博客

博客

UVA12503

...
aaa
2025-12-01 12:54:08

本文章由 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;
}

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。