凌乱的yyy
題意
安排比賽,且不能同時進行兩個比賽,使比賽場數(shù)最多。
分析
這題用貪心的方法來做,先排序結(jié)束時間,再依次考慮各個活動。
var
n,i,tj,t:longint;
a,b:array[0..1000000]of longint;
procedure kp(l,r:longint);
var
i,j,mid:longint;
begin
? ? if l>=r then exit;
? ? i:=l;j:=r;mid:=b[(l+r) div 2];
? ? repeat
? ? ? ? ?while b[i]<mid do inc(i);
? ? ? ? ?while b[j]>mid do dec(j);
? ? ? ? ?if i<=j then
? ? ? ? ?begin
? ? ? ? ? ? ?a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
? ? ? ? ? ? ?b[0]:=b[i];b[i]:=b[j];b[j]:=b[0];
? ? ? ? ? ? ?inc(i);dec(j);
? ? ? ? end;
? ? until i>j;
? ? kp(l,j);
? ? kp(i,r);
end;
begin
? ? readln(n);
? ? for i:=1 to n do
? ? readln(a[i],b[i]);
? ? kp(1,n);
? ? tj:=0;
? ? t:=-1;
? ? for i:=1 to n do
? ? if a[i]>=t then
? ? begin
? ? ? ? t:=b[i];
? ? ? ? inc(tj);
? ? end;
? ? write(tj);
end.
轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/9500211.html
總結(jié)
- 上一篇: 奖学金pascal程序
- 下一篇: 谁拿了最多奖学金pascal程序