Cod sursa(job #2815587)

Utilizator MihaiCostacheCostache Mihai MihaiCostache Data 9 decembrie 2021 21:17:10
Problema Perle Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <iostream>

using namespace std;
string s;
char v[10005];
int f(string s, int n)
{
    for(int i=0; i<s.size(); i++)
    {
        if(s[i]=='A')
        {
            s[i]=v[i];
        }
        else if(s[i]=='B')
        {
            s.erase(i, 1);
            if(v[i]=='1')
                s.insert(i, "1A3AC");
            else if(v[i]=='2')
                s.insert(i, "2B");
        }
        else
        {
            s.erase(i, 1);
            if(v[i]=='1')
                s.insert(i, "12A");
            else if(v[i]=='2')
                s.insert(i, "2");
            else if(v[i]=='3')
                s.insert(i, "3BC");
        }
        if(s[i]!=v[i] || s.size()>n)
        {
            return 0;
        }
    }
    if(s.size()==n)
    {
        return 1;
    }
    return 0;
}
int t, n;
int main()
{
    cin>>t;
    for(int j=1; j<=t; j++)
    {
        cin>>n;
        for(int i=1; i<=n; i++)
        {
            cin>>v[i];
        }
        if(n==1)
        {
            cout<<"1\n";
        }
        else
        {
            if(f("B", n)==1 || f("C", n)==1)
            {
                cout<<"1\n";
            }
            else
            {
                cout<<"0\n";
            }
        }
    }
    return 0;
}