Uva 12503 Solution

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t, n, i;
    cin >> t;
    while(t--)
    {
        cin >> n;
        getchar();
        map<int , char> mp;
        string ch;
        int c = 0;
        for(i=1;i<=n;i++)
        {
            getline(cin, ch);
            if(ch == "LEFT")
            {
                mp[i] = 'L';
                c--;
            }
            else if(ch == "RIGHT")
            {
                mp[i] = 'R';
                c++;
            }
            else
            {
                int p = 0;
                for(int j=8;j<ch.size();j++)
                    p = p*10 + (ch[j]-48);

                if(mp[p] == 'L')
                {
                    c--;
                    mp[i] = 'L';
                }
                else if(mp[p] == 'R')
                {
                    c++;
                    mp[i] = 'R';
                }
            }
        }
        cout << c << "\n";
    }
    return 0;
}

Comments