jons-mark 2015-07-22 13:06 采纳率: 14.3%
浏览 1496

HDU 1509 Windows Message Queue

自己测试总刚觉没错,求高手帮忙,不知道哪错了,总wa。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 写回答

3条回答 默认 最新

  • jons-mark 2015-07-22 13:06
    关注

    import java.util.Comparator;
    import java.util.PriorityQueue;
    import java.util.Scanner;

    class Nod {

    String name;
    int val, pri;
    
    public Nod(String name, int val, int pri) {
        this.name = name;
        this.val = val;
        this.pri = pri;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getVal() {
        return val;
    }
    
    public void setVal(int val) {
        this.val = val;
    }
    
    public int getPri() {
        return pri;
    }
    
    public void setPri(int pri) {
        this.pri = pri;
    }
    

    }

    public class Main4 {

    public static void main(String[] args) {
        Comparator<Nod> con = new Comparator<Nod>() {
            @Override
            public int compare(Nod a, Nod b) {
                int n1 = a.getPri();
                int n2 = b.getPri();
                int m1 = a.getVal();
                int m2 = b.getVal();
                if (n1 > n2) {
                    return 1;
                } else if (n1 < n2) {
                    return -1;
                } else {
                    return 0;
                }
            }
        };
        PriorityQueue<Nod> q = new PriorityQueue<Nod>(con);
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.next();
            if (str.equals("GET")) {
                if (q.isEmpty()) {
                    System.out.println("EMPTY QUEUE!");
                } else {
                    Nod n;
                    n = q.poll();
                    System.out.println(n.getName() + " " + n.getVal());
                }
            } else {
                String name = sc.next();
                int v = sc.nextInt();
                int p = sc.nextInt();
                Nod n = new Nod(name, v, p);
                q.add(n);
            }
        }
    }
    

    }

    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值