Pagini recente » Cod sursa (job #2056690) | Cod sursa (job #1387158) | Cod sursa (job #68139) | Cod sursa (job #2174152) | Cod sursa (job #23520)
Cod sursa(job #23520)
#include<stdio.h>
typedef struct nod
{
long inf;
nod *urm,*prec;
}lsi;
lsi *prim,*ultim,*q;
long n,m;
FILE *f=fopen("stramosi.in","r");
void citire()
{
long i;
fscanf(f,"%ld %ld",&n,&m);
prim=ultim=0;
if(!prim)
{
prim=new lsi;
fscanf(f,"%ld",&prim->inf);
ultim=prim;
prim->urm=0;
prim->prec=0;
}
for(i=2;i<=n;i++)
{
q=new lsi;
fscanf(f,"%ld",&q->inf);
q->urm=0;
q->prec=ultim;
ultim->urm=q;
ultim=q;
}
}
int cond()
{
long p,t,i,o,j;
fscanf(f,"%ld %ld",&p,&t);
for(i=1;i<=p;i++)
if(i==1)
q=prim;
else
q=q->urm;
for(j=1;j<t;j++)
{
o=q->inf;
if(o<p&&o!=0)
{for(i=p;i>o;i--)
q=q->prec;
}
else
if(o>p&&o!=0)
{for(i=p;i<o;i++)
q=q->urm;
}
else
return 0;
}
return q->inf;
}
void af()
{
q=prim;
while(q)
{
printf("%ld ",q->inf);
q=q->urm;
}
}
int main()
{
long i;
citire();
FILE *g=fopen("stramosi.out","w");
for(i=1;i<=m;i++)
fprintf(g,"%ld\n",cond());
fclose(f);
fclose(g);
return 0;
}