| ||||||||||
| 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 | |||||||||
漂亮MM,那都是浮云那......In Reply To:为什么wa?哪位牛人可以帮小妹看一下吗? Posted by:aime at 2006-08-09 20:37:56 > #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