/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 324.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 103ms 2.422 MiB
#4 Accepted 20ms 7.262 MiB
#5 Accepted 1ms 536.0 KiB
#6 Accepted 122ms 2.191 MiB
#7 Accepted 114ms 2.242 MiB
#8 Accepted 27ms 1.02 MiB
#9 Accepted 43ms 7.762 MiB
#10 Accepted 62ms 7.82 MiB
#11 Accepted 26ms 2.625 MiB
#12 Accepted 25ms 7.285 MiB

Code

#include<bits/stdc++.h>
using namespace std;
/*#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>*/
typedef long long ll;
#define N 200001
#define lcm(a,b) ((a*b)/__gcd(a,b))
const ll mod=1e9+7;
        ll prime[N];
        vector<int>all_primes;
        ll prime_factors[N];
        void seive()
        {
            memset(prime,0,sizeof(prime));
            prime[0]=1;prime[1]=1;
            for(ll i=2;i*i<=N-1;i++)
            {
            if(prime[i]==0)
                {
                    for(ll j=i*i;j<N;j+=i)
                    {
                        prime[j]=1;
                    }
                }
            }
            for(int i=1;i<N;i++)
            {
                if(!prime[i])
                {
                    all_primes.push_back(i);
                }
            }
        }

        void spf()
        {
            for(ll i=1;i<N;i++)
            {
                prime_factors[i]=i;
            }

            for(ll i=2;i*i<=N-1;i++)
            {
                for(ll j=i*i;j<=N-1;j+=i)
                {
                    if(prime_factors[j]==j)
                        prime_factors[j]=i;
                }
            }
        }
//code starts here

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    cin>>t;
    //t=1;
    while(t--)
    {
       string s;
       cin>>s;
       vector<char>V,VV;
       int q;
       cin>>q;
       int cnt=0;
       for(int i=0;i<q;i++)
       {
           int x;
           cin>>x;
           if(x==2)
           {
               int l;
               char c;
               cin>>l>>c;
               if(l==1)
               {
                   if(cnt%2==0)
                    V.push_back(c);
                   else
                    VV.push_back(c);
               }
               else
               {
                   if(cnt%2==0)
                    VV.push_back(c);
                   else
                    V.push_back(c);
               }
           }
           else
            cnt++;
       }
        if(cnt%2)
        {
            reverse(VV.begin(),VV.end());
            for(auto &it : VV)
            cout<<it;

            reverse(s.begin(),s.end());
            cout<<s;

            for(auto &it : V)
            cout<<it;

            cout<<"\n";
            continue;
        }
        reverse(V.begin(),V.end());
        for(auto &it : V)
            cout<<it;

        cout<<s;

        for(auto &it : VV)
            cout<<it;

        cout<<"\n";
    }
}

Information

Submit By
Type
Submission
Problem
P1088 Mr. Heart's String Challenge
Contest
Brain Booster #5
Language
C++20 (G++ 13.2.0)
Submit At
2024-09-05 16:34:11
Judged At
2024-09-05 16:34:11
Judged By
Score
100
Total Time
122ms
Peak Memory
7.82 MiB