#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. 编写高质量代码改善C#程序的157个建议[IEnumerable<T>和IQueryable<T>、LINQ避免迭代、LINQ替代迭代]

    前言 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议29.区别LINQ查询中的IEnumerable<T ...

  2. Android intent传递list或对象

    方法一: 如果单纯的传递List<String> 或者List<Integer>的话 就可以直接使用 Java代码 intent.putStringArrayListExtra ...

  3. Java编程思想学习(一) 一切都是对象

    前言 Java是基于C++的,但Java是一种更加纯粹的面向对象程序设计语言. C++和Java都是混合/杂合型语言.杂合型语言允许多种编程风格. 用引用操纵对象 每种编程语言都有自己操纵内存中元素的 ...

  4. BZOJ-3231 递归数列 矩阵连乘+快速幂

    题不是很难,但是啊,人很傻啊...机子也很鬼畜啊... 3231: [Sdoi2008]递归数列 Time Limit: 1 Sec Memory Limit: 256 MB Submit: 569 ...

  5. phpMyadmin /scripts/setup.php Remote Code Injection && Execution CVE-2009-1151

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Insufficient output sanitizing when gener ...

  6. mybatis-spring从1.1升级到1.2所带来的dao层级的编写问题

    我们公司的项目使用spring+mybatis组合.所以就必须得使用mybatis-spring了.所以此处就昨日mybatis-spring从1.1升级到1.2所带来的dao层级的编写问题,做了一个 ...

  7. NYOJ298点的转换(矩阵十大问题之一)

    点的变换 时间限制:2000 ms  |  内存限制:65535 KB 难度:5   描述 平面上有不超过10000个点,坐标都是已知的,现在可能对所有的点做以下几种操作: 平移一定距离(M),相对X ...

  8. POJ1037A decorative fence(动态规划+排序计数+好题)

    http://poj.org/problem?id=1037 题意:输入木棒的个数n,其中每个木棒长度等于对应的编号,把木棒按照波浪形排序,然后输出第c个; 分析:总数为i跟木棒中第k短的木棒 就等于 ...

  9. App接口中xml方式封装通信接口

  10. The C Programming Language (second edition) 实践代码(置于此以作备份)

    1. #include <stdio.h> #include <stdlib.h> #include <math.h> #include<time.h> ...