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 |
为什么wa?哪位牛人可以帮小妹看一下吗?#include<iostream> using namespace std; int num,k; struct command{ int q_num; int period; int nextime; }query[1001]; void copy(int s,int j){ query[s].nextime=query[j].nextime; query[s].period=query[j].period; query[s].q_num=query[j].q_num; } int compare(int i,int j){ if(query[i].nextime<query[j].nextime) return -1; if(query[i].nextime>query[j].nextime) return 1; if(query[i].q_num<query[j].period) return -1; if(query[i].q_num>query[j].q_num) return 1; return 0; } void HeapAdjust(int s){ int j; copy(0,s); for(j=s*s;j<=num;j*=2){ if(j<num&&compare(j,j+1)>0) ++j; if(compare(0,j)<=0) break; copy(s,j); s=j; } copy(s,0); } int HeapSort(){ int left,right; for(left=num/2;left>=1;left--) HeapAdjust(left); for(right=1;right<=k;right++) { printf("%d\n",query[1].q_num); query[1].nextime+=query[1].period; HeapAdjust(1); } return 0; } int main(){ int i,j,q_num,period; char c[9]; //freopen("test.txt","r",stdin); i=1; cin>>c; while(strcmp(c,"#")){ cin>>q_num>>period; query[i].nextime=period; query[i].period=period; query[i].q_num=q_num; i++; cin>>c; } num=i-1; cin>>k; HeapSort(); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator