Codeforces Round #578 (Div. 2)
A. Hotelier(水题) 题意:有0-9号,10个房间,客人可以从左边进,右边进,L代表从左边进,R代表从右边进,0-9代表该房间的客人离开,从左右进的都选择住离入口最近的,然后 问在操作结束后每个房间是否还有人。 题解:遍历一遍就行了~ #include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; typedef long long ll; bool vis[maxn]; int main(){ int n; cin>>n; string s; cin>>s; int l=0,r=9; memset(vis,0,sizeof(vis)); for(int i=0;i<s.size();i++){ if(s[i]=='L'){ for(int j=0;j<=9;j++){ if(!vis[j]){ vis[j]=true; break; } } } else if(s[i]=='R'){ for(int j=9;j>=0;j--){ if(!vis[j]){ vis[j]=true; break; } } } else vis[s[i]-'0']=false; } for(int i=0;i<=9;i++){ if(vis[i])cout<<1; else cout<<0; } cout<<endl;