当前位置: 首页 > 工具软件 > Hotelier > 使用案例 >

Hotelier-数据结构

葛越
2023-12-01

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;
}
 类似资料: