Cod sursă (job #159231)

Utilizator avatar euanonymul euanonymul euanonymul IP ascuns
Problemă Bizar (clasele 9-10) Compilator cpp | 0,71 kb
Rundă Arhiva de probleme Status evaluat
Dată 11 oct. 2015 15:09:04 Scor 100
#include <fstream>
using namespace std;
ifstream fin("bizar.in");
ofstream fout("bizar.out");
int n,x[100001],k;
char c;
void citire(){
    c=fin.get();
    while(c==' ')
        c=fin.get();
    }
int citcont(){
    int k=0;
    while(c>='0'&&c<='9'){
    k=k*10+int(c)-48;
    c=fin.get();
    }
    while(c==' ')
        c=fin.get();
    return k;
}
int afis(int k){
    int i;
    int h;
    h=citcont();
    while(c=='('){
        i=k;
        citire();
        while(c>='0'&&c<='9'){
        x[i]=afis(i);
        i++;
        citire();
        }
    h=x[k+(h-1)%(i-k)];
    }
    return h;
}
int main()
{
    citire();
    fout<<afis(0);
    fout.close();
    return 0;
}