티스토리 뷰

Pascal/BAEKJOON

pascal 10378번 Grave (백준)

rofn123 2025. 1. 27. 21:38
var x1,x2,x3,x4,y1,y2,y3,y4,w,h,a:int64;
begin
a:=0;
readln(x1,y1,x2,y2);
readln(x3,y3,x4,y4);
read(w,h);

if (x2-x1>=w) then begin
 if (y3-y1>=h) or (y2-y4>=h) then a:=1;
end;

if (y2-y1>=h) then begin
 if (x3-x1>=w) or (x2-x4>=w) then a:=1;
end;

if a=0 then write('No') else write('Yes');
end.

 

풀이 : 기하학

 

Graveyard 내부에 Chapel 이 있으며, 우리는 Graveyard 내부에서 Chapel의 영역을 침범하지 않은채 Grave을 추가할 수 있는지를 알아보아야 합니다.

 

 

두가지 방향에서 바라볼 수 있습니다.

 

 

0번

 

grave의 w(너비) 가 x2-x1 (Graveyard 의 너비) 이하이며

grave의 h(높이)가 y3-y1 의 이하거나 (하단 파란색 구역) y2-y4 의 이하라면 (상단 파란색 구역) grave 설치가 가능합니다.

 

 

1번

grave의 h(높이) 가 y2-y1 (Graveyard 의 높이) 이하이며

grave의 w(너비)가 x3-x1 의 이하거나 (왼쪽 빨간색 구역) x2-x4 의 이하라면 (오른쪽 빨간색 구역) grave 설치가 가능합니다.

 

https://www.acmicpc.net/problem/10378

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함