Cod sursa(job #1846424)

Utilizator doriiiiiii7Tirsogoiu Dorina doriiiiiii7 Data 12 ianuarie 2017 19:29:26
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include<iostream>
using namespace std;
ifstream fin("editor.in");
ofstream fout("editor.out");
int taste(char S[])
{
    char sir[60003]; int n=0;
    for(int i=0;S[i]!=0;i++){
        if(S[i]=='*'){
            if(n!=0) n--;
        }
        else
        {
            if(S[i]!='E')
                sir[n++]=S[i];
        }
    }
    int k=0;
    for(int i=0;i<n;i++){
        if(sir[i]=='(' || sir[i]=='['){
                k++;
                S[k]=sir[i];
           }
        else{
            if(sir[i]==')' && k>0 && S[k]=='(')
                k--;
            else{
                if(sir[i]==']' && k>0 && S[k]=='[')
                    k--;
                else
                    return 0;
            }

        }
    }
    if(k==0)
        return 1;
    else
        return 0;
}
int main()
{
    int n, i; char S[60005];
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>S;
        if(taste(S)==1)
            fout<<":)\n";
        else
            fout<<":(\n";
    }
    return 0;
}