162 lines
18 KiB
HTML
162 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>BOJ 1992 - Offline</title>
|
|
<style>
|
|
:root {
|
|
--bg: #fafaf8;
|
|
--paper: #ffffff;
|
|
--ink: #1e1f24;
|
|
--muted: #6a6d75;
|
|
--line: #d8dce3;
|
|
--accent: #0d6e6e;
|
|
--code-bg: #f4f6fb;
|
|
}
|
|
* { box-sizing: border-box; }
|
|
body {
|
|
margin: 0;
|
|
background:
|
|
radial-gradient(circle at 15% 0%, #f0efe9 0%, transparent 42%),
|
|
radial-gradient(circle at 85% 20%, #e7f1f2 0%, transparent 38%),
|
|
var(--bg);
|
|
color: var(--ink);
|
|
font-family: "Noto Sans KR", "Pretendard", "Apple SD Gothic Neo", sans-serif;
|
|
line-height: 1.65;
|
|
}
|
|
main {
|
|
max-width: 980px;
|
|
margin: 0 auto;
|
|
padding: 24px 16px 56px;
|
|
}
|
|
.header {
|
|
background: var(--paper);
|
|
border: 1px solid var(--line);
|
|
border-radius: 14px;
|
|
padding: 18px 20px;
|
|
margin-bottom: 18px;
|
|
}
|
|
.header h1 { margin: 0 0 6px; font-size: 1.5rem; }
|
|
.header p { margin: 0; color: var(--muted); font-size: 0.95rem; }
|
|
.header a { color: var(--accent); text-decoration: none; }
|
|
.section {
|
|
background: var(--paper);
|
|
border: 1px solid var(--line);
|
|
border-radius: 14px;
|
|
padding: 16px 18px;
|
|
margin-bottom: 14px;
|
|
overflow-x: auto;
|
|
}
|
|
h2 {
|
|
margin: 0 0 10px;
|
|
font-size: 1.05rem;
|
|
color: var(--accent);
|
|
border-bottom: 1px solid var(--line);
|
|
padding-bottom: 8px;
|
|
}
|
|
pre, code {
|
|
font-family: "JetBrains Mono", "Fira Code", monospace;
|
|
background: var(--code-bg);
|
|
}
|
|
pre {
|
|
padding: 12px;
|
|
border-radius: 10px;
|
|
border: 1px solid #e7ebf2;
|
|
overflow: auto;
|
|
}
|
|
blockquote {
|
|
margin: 14px 0;
|
|
padding: 16px 16px 14px 22px;
|
|
border-left: 4px solid var(--accent);
|
|
border-radius: 10px;
|
|
background: linear-gradient(90deg, #eef8f8 0%, #f9fdfd 100%);
|
|
color: #24313a;
|
|
font-weight: 600;
|
|
position: relative;
|
|
}
|
|
blockquote::before {
|
|
content: "“";
|
|
position: absolute;
|
|
left: 8px;
|
|
top: 2px;
|
|
font-size: 1.35rem;
|
|
line-height: 1;
|
|
color: #0b5f5f;
|
|
opacity: 0.7;
|
|
}
|
|
blockquote > :first-child { margin-top: 0; }
|
|
blockquote > :last-child { margin-bottom: 0; }
|
|
q {
|
|
color: #114f50;
|
|
font-weight: 700;
|
|
background: #edf8f8;
|
|
border-radius: 6px;
|
|
padding: 0 4px;
|
|
}
|
|
.math-inline math {
|
|
font-size: 1em;
|
|
vertical-align: middle;
|
|
}
|
|
.math-block {
|
|
margin: 10px 0;
|
|
padding: 8px 10px;
|
|
overflow-x: auto;
|
|
background: #f8fbff;
|
|
border: 1px solid #e2ecf8;
|
|
border-radius: 8px;
|
|
}
|
|
.math-block math {
|
|
font-size: 1.04em;
|
|
display: block;
|
|
}
|
|
table { border-collapse: collapse; width: 100%; }
|
|
th, td { border: 1px solid var(--line); padding: 6px 8px; }
|
|
img { max-width: 100%; height: auto; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<header class="header">
|
|
<h1>쿼드트리</h1>
|
|
</header>
|
|
<article class="section">
|
|
<h2>문제</h2>
|
|
<p>흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다.</p>
|
|
|
|
<p>주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다</p>
|
|
|
|
<p style="text-align: center;"><img alt="" height="186" src="data:image/png;base64,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" width="408" /></p>
|
|
|
|
<p>위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자로 주어지며, 이 영상을 쿼드 트리 구조를 이용하여 압축하면 "<code>(0(0011)(0(0111)01)1)</code>"로 표현된다. N ×N 크기의 영상이 주어질 때, 이 영상을 압축한 결과를 출력하는 프로그램을 작성하시오.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>입력</h2>
|
|
<p>첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또는 1의 숫자로 이루어져 있으며, 영상의 각 점들을 나타낸다.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>출력</h2>
|
|
<p>영상을 압축한 결과를 출력한다.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 1 복사</h2>
|
|
<pre class="sampledata" id="sample-input-1">8
|
|
11110000
|
|
11110000
|
|
00011100
|
|
00011100
|
|
11110000
|
|
11110000
|
|
11110011
|
|
11110011
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 1 복사</h2>
|
|
<pre class="sampledata" id="sample-output-1">((110(0101))(0010)1(0001))
|
|
</pre>
|
|
</article>
|
|
</main>
|
|
</body>
|
|
</html>
|