#include#include using namespace std; int main() { int n,pos,i; scanf("%d",&n); while(n!=0) { int pos[10001]={0}; int num[10001]={0}; for ( i = 1 ; i <= n ; i ++) scanf("%ld%ld",&num[i],&pos[i]); int c = 0; int p; for ( i = 1 ; i <= n ; i ++) { p = i+pos[i]; if(p>n || p <1) c=c+1; else { if(pos[i] != 0) { c = c +pos[i]; c = c+ pos[i+pos[i]]; } } } if (c == 0) { for ( i = 1 ; i <= n ; i ++) { if(pos[i]==0) g[i]=num[i]; if(pos[i]>0) g[i+pos[i]]=num[i]; if(pos[i]<0) g[i+pos[i]]=num[i]; } for ( i = 1 ; i <= n ; i ++) { if(i==n) printf("%ld",g[i]); else printf("%ld ",g[i]); } printf("\n"); } else { printf("-1\n"); } scanf("%d",&n); } return 0; }
martes, 29 de mayo de 2012
Problema E
Aqui les muestro una solucion de problema E del concurso, nostros no perdonamos
Suscribirse a:
Entradas (Atom)