Отримання знань

дистанційна підтримка освіти школярів


Интервалы
http://acm.pku.edu.cn/JudgeOnline/problem?id=1089

   Входные данные

   Выходные данные

   Пример входных данных

   Пример выходных данных

   Анализ условия и обсуждение идеи решения

   Пример решения на Pascal:

program PKU1089;
{$I-,S-,Q-,R-}

const maxn = 1000010;

type integer = longint;

var a: array[1..maxn] of integer;
x: array[1..maxn] of boolean;
n: integer;

procedure prepare;
var u, v, i: integer;
begin
fillchar(x, sizeof(x), false);
fillchar(a, sizeof(a), 0);
readln(n);
for i := 1 to n do begin
read(u, v);
inc(a[u]); dec(a[v]);
x[u] := true;
x[v] := true;
end;
end;

procedure main;
var now, i, j: integer;
begin
i := 1; now := 0;
while i < maxn do begin
now := now + a[i];
if now = 0 then begin
if x[i] then writeln(i, ' ', i);
i := i + 1;
end else begin
j := i;
while now > 0 do begin
j := j + 1;
now := now + a[j];
end;
writeln(i, ' ', j);
i := j + 1;
end;
end;
end;

begin
prepare;
main;
end.

   Пример решения на C++:

 

Попередня Зміст Наступна
В системі: гості - (1); користувачі - (0)