RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
USACO0616

Walking Along a Fence

Gold IV 골드 IV
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

Farmer John's \(N\) cows (\(1 \leq N \leq 10^5\)) each like to take a daily walk
around the fence enclosing his pasture.

The fence consists of \(P\) posts (\(4 \leq P \leq 2\cdot 10^5\), \(P\) even), the
location of each being a different 2D point \((x,y)\) on a map of FJ's farm
(\(0 \leq x, y \leq 1000\)). Each post is connected to the two adjacent posts by
fences that are either vertical or horizontal line segments, so the entire
fence can be considered a polygon whose sides are parallel to the x or y axes
(the last post connects back to the first post, ensuring the fence forms a
closed loop that encloses the pasture). The fence polygon is "well-behaved" in
that fence segments only potentially overlap at their endpoints, each post
aligns with exactly two fence segment endpoints, and every two fence segments
that meet at an endpoint are perpendicular.

Each cow has a preferred starting and ending position for her daily walk, each
being points somewhere along the fence (possibly at posts, possibly not). Each
cow walks along the fence for her daily walks, starting from her starting
position and ending at her ending position. There are two routes that the cow
could take, given that the fence forms a closed loop. Since cows are somewhat
lazy creatures, each cow will walk in the direction around the fence that is
shorter (if there is a tie, the cow may choose either direction).

Determine the distance that each cow walks.

Problem credits: Brian Dean

제약

SCORING

  • Inputs 2-6: \(0\le x,y \le 100\) and \(N\le 100\)
  • Inputs 7-11: No additional constraints.

Problem credits: Brian Dean

입력 형식

The first line of input contains \(N\) and \(P\). Each of the next \(P\) lines
contains two integers representing the positions of the fence posts in clockwise
or counterclockwise order. Each of the next \(N\) lines contains four integers
\(x_1\) \(y_1\) \(x_2\) \(y_2\) representing the starting position \((x_1, y_1)\) and
ending position \((x_2, y_2)\) of a cow.

출력 형식

Write \(N\) integers as output, giving the distance that each cow walks.

예제 1
입력
5 4
0 0
2 0
2 2
0 2
0 0 0 2
0 2 1 0
2 1 0 2
1 0 1 2
1 2 1 0
출력
2
3
3
4
4
설명

The first cow can walk directly from \((0,0)\) to \((0,2)\).

The second cow can walk from \((0,2)\) to \((0,0)\) and then to \((1,0)\).

The fourth cow has two possible routes with equal lengths:
\((1,0)\to (0,0)\to (0,2)\to (1,2)\) and \((1,0)\to (2,0)\to (2,2)\to (1,2)\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2023-2024 > US Open > Bronze

태그

평가 및 의견

Walking Along a Fence

개요
출제자 난이도 Gold IV 골드 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Walking Along a Fence

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8