Cod sursă (job #332033)

Utilizator avatar rebecca0312 Andrei Rebecca rebecca0312 IP ascuns
Problemă Bizar (clasele 9-10) Compilator cpp | 0,77 kb
Rundă re_du Status evaluat
Dată 17 dec. 2017 16:24:59 Scor 100
#include<cstdio>
#include<iostream>
using namespace std;

const int NMAX=100005;
char s[NMAX];
int nrelem[NMAX],v[NMAX];

int main(){
    freopen("bizar.in","r",stdin);
    freopen("bizar.out","w",stdout);
    int ind=1,val=1;
    char ch;
    scanf("%d", &v[1]);
    nrelem[1]=1;
    while(cin>>ch){
        if(ch==',' || ch==' '){
            scanf("%d", &v[++ind]);
            continue;
        }
        if(ch=='('){
            nrelem[++ind]=val;
            val=ind;
            scanf("%d", &v[ind]);
            continue;
        }
        int poz=v[val-1];
        poz%=(ind-val+1);
        if(poz==0)
            poz=ind-val+1;
        ind=val-1;
        v[ind]=v[ind+poz];
        val=nrelem[val];
    }
    printf("%d", v[1]);
    return 0;
}