제출 #397630

#제출 시각아이디문제언어결과실행 시간메모리
397630victoriadIgra (COCI17_igra)C++14
40 / 100
2 ms332 KiB
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include <utility> #include <queue> #include <map> #include <iomanip> #include <fstream> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n; cin>>n; string s,l; cin>>l; cin>>s; vector<int>d(n,0); for(int i=0;i<n;i++){ if(l[i]=='a'){ d[0]++; } else if(l[i]=='b'){ d[1]++; } else{ d[2]++; } } vector<char>r; for(int i=0;i<n;i++){ if(s[i]=='a'){ if(d[1]>0){ r.push_back('b'); d[1]--; } else if(d[2]>0){ r.push_back('c'); d[2]--; } else{ for(int k=i-1;k>=0;k--){ if(r[k]=='b'||r[k]=='c'){ if(s[k]!='a'){ r.push_back(r[k]); r[k]='a'; break; } } } } } else if(s[i]=='b'){ if(d[0]>0){ r.push_back('a'); d[0]--; } else if(d[2]>0){ r.push_back('c'); d[2]--; } else{ for(int k=i-1;k>=0;k--){ if(r[k]=='a'||r[k]=='c'){ if(s[k]!='b'){ r.push_back(r[k]); r[k]='b'; break; } } } } } else if(s[i]=='c'){ if(d[0]>0){ r.push_back('a'); d[0]--; } else if(d[1]>0){ r.push_back('b'); d[1]--; } else{ for(int k=i-1;k>=0;k--){ if(r[k]=='a'||r[k]=='b'){ if(s[k]!='c'){ r.push_back(r[k]); r[k]='c'; break; } } } } } } for(int i=0;i<n;i++){ cout<<r[i]; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...