#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<string.h>
using namespace std; typedef struct minheap *Heap;
struct minheap
{
int last,max;
int data[];
char str[][];
int para[];
}Minheap; void HeapInset(int x,Heap H,char s[],int pa)
{
int i; i=++H->last;
while(i!=&&x<H->data[i/])
{
H->data[i]=H->data[i/];
strcpy(H->str[i],H->str[i/]);
H->para[i]=H->para[i/];
i/=;
}
H->data[i]=x;
strcpy(H->str[i],s);
H->para[i]=pa;
} int deleMin(Heap H)
{
int i,ci;
int x,y;
char str[];
int pa;
x=H->data[];//堆中最小元 strcpy(str,H->str[H->last]);
pa=H->para[H->last];
y=H->data[H->last]; H->last--; i=;
ci=;
//cout<<"last="<<H->last<<endl;
while(ci<=H->last)
{
//cout<<"ci="<<ci<<"y="<<y<<endl<<" "<<H->data[ci]<<endl;
if(ci<H->last&&H->data[ci+]<H->data[ci])ci++;
if(H->data[ci]>y)break; H->data[i]=H->data[ci];
strcpy(H->str[i],H->str[ci]);
H->para[i]=H->para[ci]; i=ci;
ci*=;
} H->data[i]=y;
strcpy(H->str[i],str);
H->para[i]=pa;
int tmp;
if(H->data[i]==H->data[i+])
{
tmp=H->data[i];H->data[i]=H->data[i+];H->data[i+]=tmp;
tmp=H->para[i];H->para[i]=H->para[i+];H->para[i+]=tmp;
strcpy(str,H->str[i]);strcpy(H->str[i],H->str[i+]);
strcpy(H->str[i+],str);
} return x;
}
int main()
{
char str[],s1[];
int para,data;
Heap H;
H=(Heap)malloc(sizeof(Minheap));
H->last=;
H->max=;
while(cin>>s1)
{ if(s1[]=='P')
{
cin>>str>>para>>data;
HeapInset(data,H,str,para); //cout<<"insert: "<<str<<" "<<para<<" "<<data<<endl; //cout<<"text:"<<H->str[1]<<" "<<H->data[1]<<endl;
}
else if(s1[]=='G')
{
if(H->last==)
printf("EMPTY QUEUE!\n");
else
{
cout<<H->str[]<<" "<<H->para[]<<endl; deleMin(H);
//cout<<"last:"<<H->str[H->last]<<" "<<H->data[H->last]<<endl;
//cout<<"last-1:"<<H->str[H->last-1]<<" "<<H->data[H->last-1]<<endl;
} }
//cout<<H->last<<endl;
}
return ;
}

一直WA~最小堆。应该是相同的优先级的时候,按照输入顺序输出

HDOJ 1590的更多相关文章

  1. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  3. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  4. HDOJ 1004 Let the Balloon Rise

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...

  5. hdoj 1385Minimum Transport Cost

    卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...

  6. HDOJ(2056)&HDOJ(1086)

    Rectangles    HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...

  7. 继续node爬虫 — 百行代码自制自动AC机器人日解千题攻占HDOJ

    前言 不说话,先猛戳 Ranklist 看我排名. 这是用 node 自动刷题大概半天的 "战绩",本文就来为大家简单讲解下如何用 node 做一个 "自动AC机&quo ...

  8. 最近点对问题 POJ 3714 Raid && HDOJ 1007 Quoit Design

    题意:有n个点,问其中某一对点的距离最小是多少 分析:分治法解决问题:先按照x坐标排序,求解(left, mid)和(mid+1, right)范围的最小值,然后类似区间合并,分离mid左右的点也求最 ...

  9. BFS(八数码) POJ 1077 || HDOJ 1043 Eight

    题目传送门1 2 题意:从无序到有序移动的方案,即最后成1 2 3 4 5 6 7 8 0 分析:八数码经典问题.POJ是一次,HDOJ是多次.因为康托展开还不会,也写不了什么,HDOJ需要从最后的状 ...

随机推荐

  1. overlay-3

    if(typeof Shadowbox=="undefined"){ throw"Unable to load Shadowbox, no base library ad ...

  2. python IO文件处理

    python的文件读写操作符有:r w a r+ w+ rb wb 除了以file的方式打开文件,还有一种方式就是open了,两个的用法是一模一样的,可以看成open就是file的别名 下面这个表格是 ...

  3. uploadfile上传文件时ie浏览器无法弹出窗口

    设置--->安全---->activeX筛选取消选择 更多.net.sqlserver.jquery资料欢迎访问 htttp://www.itservicecn.com    

  4. C 文件读写2

    feof() int  feof(FILE *stream); 在执行读文件操作时,如果遇到文件尾,则函数返回逻辑真(1):否则,则返回逻辑假(0). feof()函数同时适用于ASCII码文件和二进 ...

  5. 【poj1001】 Exponentiation

    http://poj.org/problem?id=1001 (题目链接) 题意 求实数R的n次方,要求高精度. Solution SB题Wa了一下午,直接蒯题解. 高精度,小数点以及去前导后导零很麻 ...

  6. asp.net input怎么获取值

    前台: <input type="hidden" name="content" value="content"> 后台: Req ...

  7. c++中string类型用下标初始化后str.size()为0 输出string值为空

    你的string list是个默认构造函数,这样就没有为list分配空间,自然list[i]就会报出超出string范围的错误,可以简单更改为string list(6, '\0'),事先为list指 ...

  8. linux 破解版confluence安装

    OS  centos 6.5  需要的安装包如下: jre-7u67-linux-x64.rpm atlassian-confluence-5.4.4-x64.bin mysql-connector- ...

  9. Servlet------(声明式)异常处理

    Test.java 其他方法不变,重写 protected void service()方法 public void init(ServletConfig config) throws Servlet ...

  10. tp框架表单验证

    之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...