Cod sursă (job #402417)

Utilizator avatar alex2209alex Pavel Alexandru alex2209alex IP ascuns
Problemă Bizar (clasele 9-10) Compilator cpp | 0,80 kb
Rundă Arhiva de probleme Status evaluat
Dată 15 nov. 2018 19:45:25 Scor 100
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bizar.in");
ofstream g("bizar.out");
char c;
int_fast32_t nr,x,v2[100001],n;
vector<int_fast32_t>v[100001];
int main()
{
    while(f>>c)
    {
        if(c=='(')
        {
            nr++;
            v2[nr]=x;
            x=0;
            v[nr].clear();
        }
        else if(c==')')
        {
            v[nr].push_back(x);
            n=v2[nr]%v[nr].size()-1;
            if(n==-1)
            {
                n=v[nr].size()-1;
            }
            x=v[nr][n];
            nr--;
        }
        else if(isdigit(c))
        {
            x=x*10+(c-'0');
        }
        else if(c==',')
        {
            v[nr].push_back(x);
            x=0;
        }
    }
    g<<x;
    return 0;
}