Pagini recente »
Istoria paginii runda/2014-01-14-test-78/clasament
|
Istoria paginii runda/barajyakutia2014/clasament
|
baraj_shumen_juniori_2013_2
|
Istoria paginii runda/2014-01-14-test-78/clasament
|
Cod sursă (job #567665)
Cod sursă (job
#567665)
#include <cstdio>
#include <cctype>
#include <vector>
using namespace std;
FILE *fin, *fout;
char first;
const int NMAX = 1e5;
int v[NMAX + 1], k;
void skip(){
do
first = fgetc(fin);
while( isspace(first) );
}
int GetNum(){
int x = 0;
while( !isdigit(first) )
first = fgetc(fin);
while( isdigit(first) ){
x = x * 10 + (first - '0');
first = fgetc(fin);
}
while( isspace(first) )
first = fgetc(fin);
return x;
}
int E(){
int x = GetNum(), sizes;
while( first == '(' ){
sizes = k;
do{
skip();
v[k++] = E();
}while( first == ',' );
x = v[sizes + (x - 1) % (k - sizes)];
sizes = k;
skip();
}
return x;
}
int main() {
fin = fopen( "bizar.in", "r" );
fout = fopen( "bizar.out", "w" );
first = fgetc(fin);
fprintf( fout, "%d", E());
fclose( fin );
fclose( fout );
return 0;
}