这道题,如果能把题读明白其实就很简单了;
开头我没读懂题,就一直没思路:
题意:给10个房间编号为[0,9];刚开始什么东西也没有,因为每个房间都连通并且进入房间可以从左边entrance或者从右边entrance;如果进入的第一个为空(就是0)的房间,那么这个Amugae就会放一个closet在这个房间(也就是1);
现在题目给你一个长度n和一个长度为n的串,来表示customers进入的方向;注意:如果串中有数字,那么就表示以该数字为下标房间清空(也就是1–>0);
对了,这道题就理解清楚了;然后你想就知道AC代码了:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int a[100050];
int n;
scanf("%d",&n);
string s;
cin>>s;
for(int i=0;i<s.length();i++){
if(s[i]=='L'){
for(int j=0;j<10;j++){//从左边进入找到第一个0
if(a[j]==0){
a[j]=1;break;
}
}
}else if(s[i]=='R'){///从右边进入找到第一个0
for(int j=9;j>=0;j--){
if(a[j]==0){
a[j]=1;break;
}
}
}else{
a[s[i]-'0']=0;//清空房间
}
}
for(int i=0;i<10;i++){
printf("%d",a[i]);
}
return 0;
}