代码求调
查看原帖
代码求调
1044428
crane_in_clear_sky楼主2024/8/14 14:44
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
long long ss[N];
bool c[N];
long long n,m,s,su;
void zs(int a,int b){
	cout<<1;
	if(b==0){
		if(a!=n&&!c[a+1])zs(a+1,1),su++;
		if(a!=1&&!c[a-1]) zs(a-1,-1),su++;
	}
	else if(b==1) if(a!=n&&!c[a+1])zs(a+1,1),su++;
	else {
		if(a!=1&&!c[a-1])zs(a-1,-1),su++;
	}
}
int main(){
	
	cin>>n>>m;
	while(m--){
		char ch,cs;
		cin>>ch;
		if(ch=='D'){
			cin>>cs;
			c[cs]=true;
			s++;
			ss[s]=cs;
		}
		else if(ch=='R'){
			c[ss[s]]=false;
			s--;
		}
		else{
			cin>>cs;
			if(c[cs]){
				cout<<0<<endl;
				continue;
			}
			zs(cs,0);
			cout<<su<<endl;
			su=0;
		}
	}
	return 0;
} 
2024/8/14 14:44
加载中...