zoukankan      html  css  js  c++  java
  • pku1456 Supermarket

    一道经典贪心题,用并查集来优化。

    万恶的pku,这题pascal读入必须用seekeof判断是否读完数据,否则WA死你。。。

    View Code
     1 program pku1456(input,output);
     2 var
     3     x,w        :array[0..11000] of longint;
     4     f        :array[0..11000] of longint;
     5     n        :longint;
     6     answer    :longint;
     7 procedure swap(var aa,bb:longint);
     8 var
     9     tt:longint;
    10 begin
    11     tt:=aa;
    12     aa:=bb;
    13     bb:=tt;
    14 end;
    15 procedure sort(p,q:longint);
    16 var
    17     i,j,m:longint;
    18 begin
    19     i:=p;
    20     j:=q;
    21     m:=w[(i+j)>>1];
    22     repeat
    23         while w[i]>m do
    24             inc(i);
    25         while w[j]<m do
    26             dec(j);
    27         if i<=j then
    28         begin
    29             swap(w[i],w[j]);
    30             swap(x[i],x[j]);
    31             inc(i);
    32             dec(j);
    33         end;
    34     until i>j;
    35     if i<q then sort(i,q);
    36     if j>p then sort(p,j);
    37 end;
    38 function getfather(x:longint):longint;
    39 begin
    40     if f[x]=x then
    41         exit(f[x]);
    42     f[x]:=getfather(f[x]);
    43     exit(f[x]);
    44 end;
    45 procedure init;
    46 var
    47     i:longint;
    48 begin
    49     read(n);
    50     for i:=1 to n do
    51         read(w[i],x[i]);
    52     for i:=0 to 10000 do
    53         f[i]:=i;
    54 end;
    55 procedure main;
    56 var
    57     i,xx:longint;
    58 begin
    59     sort(1,n);
    60     answer:=0;
    61     for i:=1 to n do
    62     begin
    63         xx:=getfather(x[i]);
    64         if xx=0 then
    65             continue;
    66         inc(answer,w[i]);
    67         f[xx]:=xx-1;
    68     end;
    69     writeln(answer);
    70 end;
    71 begin
    72     while not seekeof do
    73     begin
    74         init;
    75         main;
    76     end;
    77 end.
  • 相关阅读:
    axios的兼容性
    js中的特殊符号含义
    div垂直居中
    HTTP协议(一):介绍
    HTTP协议(二)header标头说明
    AJAX 状态值(readyState)与状态码(status)详解
    Javascript替代eval方法
    vue基础知识之vue-resource/axios
    ES6的export与Nodejs的module.exports
    PM2来部署nodejs服务器永久开启
  • 原文地址:https://www.cnblogs.com/neverforget/p/2457257.html
Copyright © 2011-2022 走看看