3WA7TLE求助
查看原帖
3WA7TLE求助
984746
streetlampflower楼主2024/4/17 20:52
#include<bits/stdc++.h>
#define int long long
using namespace std;
string str;
void rev() {
	for (int i = 0, j = str.size() - 1; i < j; i++, j--) {
		swap(str[i], str[j]);
	}
}
void left(int w) {
	deque<char> dq;
	for (int i = 0; i < str.size(); i++) {
		dq.push_back(str[i]);
	}
	for (int i = 1; i <= w; i++) {
		dq.push_back(dq.front());
		dq.pop_front();
	}
	str = "";
	for (int i = 0; i < dq.size(); i++) {
		str += dq[i];
	}
}
void right(int w) {
	deque<char> dq;
	for (int i = 0; i < str.size(); i++) {
		dq.push_back(str[i]);
	}
	for (int i = 1; i <= w; i++) {
		dq.push_front(dq.back());
		dq.pop_back();
	}
	str = "";
	for (int i = 0; i < dq.size(); i++) {
		str += dq[i];
	}
}
signed main() {
	cin >> str;
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		string a;
		cin >> a;
		if (a == "rev") {
			rev();
		} else if (a[0] == '>') {
			int w = (int)a[1] - '0';
			right(w);
		} else if (a[0] == '<') {
			int w = (int)a[1] - '0';
			left(w);
		}
	}
	cout << str;
	return 0;
}

求查错。

2024/4/17 20:52
加载中...