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

161 lines
12 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 2606 - 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>신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.</p>
<p>예를 들어 7대의 컴퓨터가 &lt;그림 1&gt;과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다.</p>
<p><img alt="" src="data:image/png;base64,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" style="width: 239px; height: 157px; " /></p>
<p>어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 출력하는 프로그램을 작성하시오.</p>
</article>
<article class="section">
<h2>입력</h2>
<p>첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어진다. 이어서 그 수만큼 한 줄에 한 쌍씩 네트워크 상에서 직접 연결되어 있는 컴퓨터의 번호 쌍이 주어진다.</p>
</article>
<article class="section">
<h2>출력</h2>
<p>1번 컴퓨터가 웜 바이러스에 걸렸을 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 첫째 줄에 출력한다.</p>
</article>
<article class="section">
<h2>예제 입력 1 복사</h2>
<pre class="sampledata" id="sample-input-1">7
6
1 2
2 3
1 5
5 2
5 6
4 7
</pre>
</article>
<article class="section">
<h2>예제 출력 1 복사</h2>
<pre class="sampledata" id="sample-output-1">4
</pre>
</article>
</main>
</body>
</html>