Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cmath>
- #include <stack>
- #include <vector>
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int main() {
- stack<char> S1;
- stack<char> S2,S3;
- int N,a,siz=0;
- string str1,str2,str3;
- cin >> N;
- int arr[N];
- for(int i = 0; i<N; i++){
- cin >> arr[i];
- }
- cin >> str1 >> str2 >> str3;
- reverse(str1.begin(), str1.end());
- reverse(str2.begin(), str2.end());
- reverse(str3.begin(), str3.end());
- siz = str1.size();
- for(int i = 0; i<N; i++){
- S3.push(str3[i]);
- S2.push(str2[i]);
- S1.push(str1[i]);
- cout << S2.top() ;
- }
- for(int i = N-1; i>=0; i--){
- if(arr[i] == 1){
- S1.push(S2.top());
- S2.pop();
- }
- else{
- S1.push(S3.top());
- S3.pop();
- }
- }
- /* reverse(S1.begin(), S1.end());
- reverse(S2.begin(), S2.end());
- reverse(S3.begin(), S3.end());*/
- for(int i = siz+N; i<0; i--){
- cout << S1.top();
- S1.pop();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment