182 lines
17 KiB
HTML
182 lines
17 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 2239 - 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>스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다음을 보자.</p>
|
|
|
|
<p><img alt="" height="337" src="data:image/png;base64,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" width="341" /></p>
|
|
|
|
<p>위 그림은 참 잘도 스도쿠 퍼즐을 푼 경우이다. 각 행에 1부터 9까지의 숫자가 중복 없이 나오고, 각 열에 1부터 9까지의 숫자가 중복 없이 나오고, 각 3×3짜리 사각형(9개이며, 위에서 색깔로 표시되었다)에 1부터 9까지의 숫자가 중복 없이 나오기 때문이다.</p>
|
|
|
|
<p>하다 만 스도쿠 퍼즐이 주어졌을 때, 마저 끝내는 프로그램을 작성하시오.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>입력</h2>
|
|
<p>9개의 줄에 9개의 숫자로 보드가 입력된다. 아직 숫자가 채워지지 않은 칸에는 0이 주어진다.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>출력</h2>
|
|
<p>9개의 줄에 9개의 숫자로 답을 출력한다. 답이 여러 개 있다면 그 중 사전식으로 앞서는 것을 출력한다. 즉, 81자리의 수가 제일 작은 경우를 출력한다.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>제한</h2>
|
|
<ul>
|
|
<li>12095번 문제에 있는 소스로 풀 수 있는 입력만 주어진다.
|
|
<ul>
|
|
<li>C++17: 180ms</li>
|
|
<li>Java 15: 528ms</li>
|
|
<li>PyPy3: 2064ms</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 1 복사</h2>
|
|
<pre class="sampledata" id="sample-input-1">103000509
|
|
002109400
|
|
000704000
|
|
300502006
|
|
060000050
|
|
700803004
|
|
000401000
|
|
009205800
|
|
804000107
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 1 복사</h2>
|
|
<pre class="sampledata" id="sample-output-1">143628579
|
|
572139468
|
|
986754231
|
|
391542786
|
|
468917352
|
|
725863914
|
|
237481695
|
|
619275843
|
|
854396127
|
|
</pre>
|
|
</article>
|
|
</main>
|
|
</body>
|
|
</html>
|