Hotelier CodeForces - 1200A - 标记
Hotelier CodeForces - 1200A
往年天梯赛都是线下比赛,所以很多学校都会提前给学生们预定了酒店,
因为每个队伍只有10个人,于是教练们往往找刚好有10个房间的酒店来方便管理。
这个酒店的房间编号从左到右是0到9。 在最左侧和最右侧有着两个入口。
如果从左侧进入,那么经理会把他们安排在最靠近左的空房间,同理于从右侧进入。
但是在天梯赛当天,分配系统崩溃了,经理知道每个顾客的到达时间,从哪侧进入的,以及何时离开的。
最开始时,酒店的10个房间都是空的。
离比赛结束还有一定的时间,经理希望你能帮他计算出现在的分配情况。
Input
第一行包含一个整数 n (1≤n≤1e5)。
第二行包含长度为 n 的字符串。
L 和 R 分别表示学生从哪侧进入。
数字表示该数字编号房间的客人离开了。最初房间均为空。
保证有学生入住的时候存在空房间,保证给定编号的时候该编号房内有人。
Output
输出为一行,1表示有人,0表示空房间,不用空格分隔
Sample Input
8
LLRL1RL1
9
L0L0LLRR9
Sample Output
1010000011
1100000010
分析
开个标记数组,记录当前房间的情况即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10, INF=0x3f3f3f3f;
int main(){
// freopen("data.in", "r", stdin);
int n; string s;
while(cin>>n>>s){
int v[13]={0};
for(int i=0; i<n; i++){
if(isdigit(s[i])) v[s[i]-'0']=0;
if(s[i]=='L') {
for(int j=0; j<=9; j++){
if(v[j]==0) { v[j]=1; break; }
}
}
if(s[i]=='R'){
for(int j=9; j>=0; j--){
if(v[j]==0) { v[j]=1; break; }
}
}
}
for(int i=0; i<=9; i++) cout<<v[i]; cout<<endl;
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现