RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
USACO0355 파일 입출력

Icy Perimeter

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

의견: 0

설명

Farmer John is going into the ice cream business! He has built a machine that
produces blobs of ice cream but unfortunately in somewhat irregular shapes, and
he is hoping to optimize the machine to make the shapes produced as output more
reasonable.

The configuration of ice cream output by the machine can be described using an
\(N \times N\) grid (\(1 \leq N \leq 1000\)) as follows:

##....
....#.
.#..#.
.#####
...###
....##

Each '.' character represents empty space and each '#' character represents a
\(1 \times 1\) square cell of ice cream.

Unfortunately, the machine isn't working very well at the moment and might
produce multiple disconnected blobs of ice cream (the figure above has two). A
blob of ice cream is connected if you can reach any ice cream cell from every
other ice cream cell in the blob by repeatedly stepping to adjacent ice cream
cells in the north, south, east, and west directions.

Farmer John would like to find the area and perimeter of the blob of ice cream
having the largest area. The area of a blob is just the number of '#'
characters that are part of the blob. If multiple blobs tie for the largest
area, he wants to know the smallest perimeter among them. In the figure above,
the smaller blob has area 2 and perimeter 6, and the larger blob has area 13 and
perimeter 22.

Note that a blob could have a "hole" in the middle of it (empty space surrounded
by ice cream). If so, the boundary with the hole also counts towards the
perimeter of the blob. Blobs can also appear nested within other blobs, in
which case they are treated as separate blobs. For example, this case has a
blob of area 1 nested within a blob of area 16:

#####
#...#
#.#.#
#...#
#####

Knowing both the area and perimeter of a blob of ice cream is important, since
Farmer John ultimately wants to minimize the ratio of perimeter to area, a
quantity he calls the icyperimetric measure of his ice cream. When this ratio
is small, the ice cream melts slower, since it has less surface area relative to
its mass.

Problem credits: Brian Dean

제약

Problem credits: Brian Dean

입력 형식

The first line of input contains \(N\), and the next \(N\) lines describe the output
of the machine. At least one '#' character will be present.

출력 형식

Please output one line containing two space-separated integers, the first being
the area of the largest blob, and the second being its perimeter. If multiple
blobs are tied for largest area, print the information for whichever of these
has the smallest perimeter.

파일 입력 / 출력
이 문제는 표준 입출력을 사용하지 않습니다. 프로그램은 다음 파일을 읽고 써야 합니다:
입력을 읽을 파일 perimeter.in
출력을 쓸 파일 perimeter.out
예제 1
입력
6
##....
....#.
.#..#.
.#####
...###
....##
출력
13 22
문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2018-2019 > January > Silver

태그

평가 및 의견

Icy Perimeter

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

Log in to rate problems.

개별 의견

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

풀이 제출

Icy Perimeter

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