Hotelier
直接翻译了
Descriptions
Amugae的酒店由10人组成10客房。房间从0开始编号0到99 从左到右。
酒店有两个入口 - 一个来自左端,另一个来自右端。当顾客通过左入口到达酒店时,他们被分配到最靠近左入口的空房间。类似地,当顾客通过右入口到达酒店时,他们被分配到最靠近右入口的空房间。
有一天,Amugae失去了房间分配清单。值得庆幸的是,Amugae的记忆非常完美,他记得所有顾客:当顾客到达时,从哪个入口到他们离开酒店。最初酒店是空的。编写一个程序,从Amugae的记忆中恢复房间分配列表。
Input
第一行由整数组成 ññ (1≤n≤1051≤ñ≤105),Amugae记忆中的事件数量。
第二行由一串长度组成 ññ按时间顺序描述事件。每个字符代表:
- ' L ':顾客从左入口到达。
- ' R ':客户从右入口到达。
- ' 0 ',' 1 ',...,' 9 ':房间里的顾客从X (0, 1, ..., 9 )房间离开。
保证客户到达时至少有一个空房间,房间里有一个顾客 X 什么时候 X (0, 1, ..., 9) 给出。此外,所有房间最初都是空的。
Output
在唯一的一行,从房间输出酒店房间的分配状态 00 到房间 99。将空房间表示为“ 0 ”,将占用的房间表示为“ 1 ”,不带空格。
Examples
Input8 LLRL1RL1
Output1010000011Input9 L0L0LLRR9
Output1100000010
题目链接
https://vjudge.net/problem/CodeForces-1200A
签到题 模拟一遍即可
AC代码
#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include <string>1 #include <cstring> #include <map> #include <stack> #include <set> #include <sstream> #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #define Mod 1000000007 #define eps 1e-6 #define ll long long #define INF 0x3f3f3f3f #define MEM(x,y) memset(x,y,sizeof(x)) #define Maxn 100005 using namespace std; int n; string s,op; int main() { s="0000000000"; cin>>n; cin>>op; for(int i=0; i<op.length(); i++) { if(op[i]=='L') { for(int i=0; i<10; i++) { if(s[i]=='0') { s[i]='1'; break; } } } else if(op[i]=='R') { for(int i=9; i>=0; i--) { if(s[i]=='0') { s[i]='1'; break; } } } else { int pos=op[i]-'0'; s[pos]='0'; } } cout<<s<<endl; return 0; }