Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:哪位大牛帮忙看下我的对哪有问题啊?In Reply To:哪位大牛帮忙看下我的对哪有问题啊? Posted by:snowbirds at 2009-04-24 20:37:30 > #include<stdio.h> > #define MAX 200000 > struct node > { > int fval; > int num; > int lval; > }a[MAX]; > int pos; > void insert(int qnum,int first_val,int current_val) > { > int i=pos; > while(i>=2 && a[i/2].lval>=current_val ) > { > if(a[i/2].lval==current_val) > { > if(a[i/2].num>qnum) > { > a[i].fval=a[i/2].fval; > a[i].lval=a[i/2].lval; > a[i].num=a[i/2].num; > } > } > else { > > a[i].fval=a[i/2].fval; > a[i].lval=a[i/2].lval; > a[i].num=a[i/2].num; > } > i=i/2; > } > > a[i].fval=first_val; > a[i].num=qnum; > a[i].lval=current_val;//printf("%d ",a[i].lval); > pos++; > > } > int deletemin() > { > int min=a[1].num; > int ll_num=a[1].num; > int ll_fval=a[1].fval; > int ll_lval=a[1].lval; > int l_num=a[pos-1].num; > int l_fval=a[pos-1].fval; > int l_lval=a[pos-1].lval; > int i; > int child; > for(i=1;i*2<pos;i=child) > { > child=2*i; > if(a[child+1].lval==a[child].lval &&(child+1!=pos) ) > { > if(a[child+1].num<a[child].num) > child++; > } > else if(a[child+1].lval<a[child].lval &&(child+1!=pos)) > child++; > if(l_lval<a[child].lval) > break; > else { > a[i].lval=a[child].lval; > a[i].fval=a[child].fval; > a[i].num=a[child].num; > } > > > } > a[i].lval=l_lval; > a[i].fval=l_fval; > a[i].num=l_num; > pos--; > insert(ll_num,ll_fval,ll_fval+ll_lval); > return min; > } > > int main() > { > freopen("in.txt","r",stdin); > pos=1; > char b[100]; > int qnu,va; > while( scanf("%s",b) && b[0]!='#') > { > scanf("%d %d",&qnu,&va); > insert(qnu,va,va); > } > int k; > scanf("%d",&k); > int num=0; > int i; > > while(num<k) > { > printf("%d\n",deletemin()); > //for(i=1;i<=2;i++) > //printf("tt%d %d %dtt",a[i].num,a[i].fval,a[i].lval); > num++; > } > while(1); > return 0; > } > 已解决 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator