acsd
查看原帖
acsd
736027
zhouchenrui楼主2024/12/7 18:58
#include<bits/stdc++.h>
using namespace std;
struct lll{
	int a,p,c;
};
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	while(n--){
		vector<lll> vec;
		queue<int> a,p,c;
		set<int> st;
		string s;
		cin>>s;
		int len;
		for(int i=0;i<s.size();i++){
			st.insert(i+1);
			if(s[i]=='A'){
				a.push(i+1);
			}else if(s[i]=='P'&&a.size()>p.size()){
				p.push(i+1);
			}else if(s[i]=='C'&&p.size()>c.size()){
				c.push(i+1);
			}
		}
		len=c.size();
		while(!c.empty()){
			st.erase(a.front());
			st.erase(p.front());
			st.erase(c.front());
			vec.push_back({a.front(),p.front(),c.front()});
			a.pop();
			p.pop();
			c.pop();
		}
		if(st.empty()){
			cout<<"Perfect";
		}else{
			for(auto i:st){
				cout<<s[i-1]; 
			}
		}
		cout<<"\n"<<len<<"\n";
		for(auto i:vec){
			cout<<i.a<<" "<<i.p<<" "<<i.c<<"\n"; 
		}
	}
	return 0;
}
2024/12/7 18:58
加载中...