https://codeforces.com/problemset/problem/1200/A
学习:
string ans (10,'0'); //定义一个字符串ans,长度为10,用‘0’填充
ans.find('0'); //从前往后找0,返回位置
ans.rfind('0'); //从后往前找0,返回位置
答案1:
#include <bits/stdc++.h>
using namespace std;
bool room[10];
int main() {
int n;
cin >> n;
getchar();
while(n --) {
char c;
c = getchar();
if(c == 'L') {
for(int i = 0; i < 10; i ++) {
if(room[i] == 0) {
room[i] = 1;
break;
}
}
}
else if(c == 'R') {
for(int i = 10 - 1; i >= 0; i --) {
if(room[i] == 0) {
room[i] = 1;
break;
}
}
}
else {
room[c - '0'] = 0;
}
}
for(int i = 0; i < 10; i ++) {
cout << room[i];
}
return 0;
}
答案2:
#include <bits/stdc++.h>
using namespace std;
int main() {
string ans(10, '0');
int n;
cin >> n;
while(n --) {
char c;
cin >> c;
if(c == 'L') ans[ans.find('0')] = '1';
else if(c == 'R') ans[ans.rfind('0')] = '1';
else ans[c - '0'] = '0';
}
return cout << ans, 0;
}