Files
CodeObject/storage/zeta/_static/1010.html
2026-04-27 09:44:16 +09:00

157 lines
21 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 1010 - 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>재원이는 한 도시의 시장이 되었다. 이 도시에는&nbsp;도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다.&nbsp;하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N &le; M)</p>
<p>재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 재원이는 다리를 최대한 많이 지으려고 하기 때문에 서쪽의 사이트 개수만큼 (N개) 다리를 지으려고 한다. 다리끼리는 서로 겹쳐질 수 없다고 할 때 다리를 지을 수 있는 경우의 수를 구하는 프로그램을 작성하라.</p>
<p><img alt="" src="data:image/jpeg;base64,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" style="height:353px; width:329px" /></p>
</article>
<article class="section">
<h2>입력</h2>
<p>입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 &lt; N &le; M &lt; 30)이 주어진다.</p>
</article>
<article class="section">
<h2>출력</h2>
<p>각 테스트 케이스에 대해 주어진 조건하에 다리를 지을 수 있는 경우의 수를 출력한다.</p>
</article>
<article class="section">
<h2>예제 입력 1 복사</h2>
<pre class="sampledata" id="sample-input-1">3
2 2
1 5
13 29
</pre>
</article>
<article class="section">
<h2>예제 출력 1 복사</h2>
<pre class="sampledata" id="sample-output-1">1
5
67863915
</pre>
</article>
</main>
</body>
</html>