Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define fr first
- #define sc second
- #define pb push_back
- #define pf push_front
- #define ll long long
- using namespace std;
- void TxtRead(){
- freopen("input.txt","r", stdin);
- freopen("output.txt","w", stdout);
- }
- void TheTime(){
- ios_base::sync_with_stdio(false);
- cin.tie();
- }
- const int N = 1e3+5;
- const ll INF = 1e9+5;
- const ll MOD = 1e9+7;
- const double PI = 3.141592653589793116;
- vector<int> g[205];
- bool used[205];
- void DFS(int v)
- {
- used[v]=true;
- for(int i=0; i<g[v].size(); i++){
- int to=g[v][i];
- if(!used[to]){
- DFS(to);
- }
- }
- }
- int main()
- {
- TxtRead();
- TheTime();
- int T;
- cin>>T;
- for(int t=0; t<T; t++){
- string s;
- cin>>s;
- int n=s.size();
- s='a'+s;
- s=s+'a';
- for(int i=1; i<=n; i++){
- int st=0, fn=n;
- if(s[i]=='?'){
- for(int j=i; j<=n+1; j++){
- if(s[j]!='?'){
- st=i;
- fn=j;
- i=j;
- break;
- }
- }
- }
- if(st){
- int x=s[st-1]-'a';
- int y=s[fn]-'a';
- int z=0;
- if(x==0 && y==1) z=2;
- else if(x==0 && y==2) z=1;
- else if(x==1 && y==2) z=0;
- else if(x==y && x==2) z=1;
- else if(x==y && x==1) z=0;
- else if(x==y && x==0) z=2;
- int cnt=0;
- int ar[] = {z, x};
- for(int j=st; j<fn; j++){
- s[j]=ar[cnt]+'a';
- cnt=(cnt+1)%2;
- }
- }
- }
- int flag=false;
- for(int i=2; i<=n; i++){
- if(s[i]==s[i-1]){
- flag=true;
- break;
- }
- }
- //cout<<s<<"\n";
- s.pop_back();
- s.erase(0, 1);
- cout<<((flag) ?"-1" :s)<<"\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement