全RE求助,感觉思路没问题
查看原帖
全RE求助,感觉思路没问题
744562
Aya_tt楼主2024/1/25 19:31
	#include<bits/stdc++.h>
	#define int long long
	using namespace std;
	string a;
	signed main(){
	    cin >> a;
	    int T;
	    cin >> T;
	    bool flag = 0;
	    int left = 0;
	    while(T--){
	    	string s;
	    	cin >> s;
	    	if(s == "rev"){
	    		flag = (flag == 0);
	    		continue;
	    	}
	    	int sum;
	    	cin >> sum;
	    	if(s[0] == '<') {
	    		if(flag == 0) left += sum;
	    		else left -= sum;
	    	}
	    	if(s[0] == '>'){
	    		if(flag == 0) left -= sum;
	    		else left += sum;
	    	}
		}
	    char ans[50];
	    int cnt = 0;
	    left %= a.length();
	   	if(left >= 0){
	   		for(int i = left;i < a.length();i++){
	   			ans[cnt] = a[i];
	   			cnt ++;
			}
	   		for(int i = 0;i < left;i++){
	   			ans[cnt] = a[i];
	   			cnt ++;
	   		}
	   	}
	   	else{
	   		left = -left;
	   		//cout << left;
	   		for(int i = a.length() - left;i < a.length();i++){
	   			ans[cnt] = a[i];
	   			cnt ++;
			}
	   		for(int i = 0;i < a.length() - left;i++){
	   			ans[cnt] = a[i];
	   			cnt ++;
	   		}
	   	}
	   	if(flag == 1) {
	   		for(int i = a.length() - 1;i >= 0;i--){
	   			cout << ans[i];
	   		}
	   	}
	   	else {
	   		for(int i = 0;i < a.length();i++){
	   			cout << ans[i];
	   		}
	   	}
	}
2024/1/25 19:31
加载中...