255 lines
13 KiB
HTML
255 lines
13 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 1063 - 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>8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 행을 상징한다. 열은 가장 왼쪽 열이 A이고, 가장 오른쪽 열이 H까지 이고, 행은 가장 아래가 1이고 가장 위가 8이다. 예를 들어, 왼쪽 아래 코너는 A1이고, 그 오른쪽 칸은 B1이다.</p>
|
|
|
|
<p>킹은 다음과 같이 움직일 수 있다.</p>
|
|
|
|
<ul>
|
|
<li>R : 한 칸 오른쪽으로</li>
|
|
<li>L : 한 칸 왼쪽으로</li>
|
|
<li>B : 한 칸 아래로</li>
|
|
<li>T : 한 칸 위로</li>
|
|
<li>RT : 오른쪽 위 대각선으로</li>
|
|
<li>LT : 왼쪽 위 대각선으로</li>
|
|
<li>RB : 오른쪽 아래 대각선으로</li>
|
|
<li>LB : 왼쪽 아래 대각선으로</li>
|
|
</ul>
|
|
|
|
<p>체스판에는 돌이 하나 있는데, 돌과 같은 곳으로 이동할 때는, 돌을 킹이 움직인 방향과 같은 방향으로 한 칸 이동시킨다. 아래 그림을 참고하자.</p>
|
|
|
|
<p style="text-align:center"><img alt="" src="data:image/png;base64,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" /></p>
|
|
|
|
<p>입력으로 킹이 어떻게 움직여야 하는지 주어진다. 입력으로 주어진 대로 움직여서 킹이나 돌이 체스판 밖으로 나갈 경우에는 그 이동은 건너 뛰고 다음 이동을 한다.</p>
|
|
|
|
<p>킹과 돌의 마지막 위치를 구하는 프로그램을 작성하시오.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>입력</h2>
|
|
<p>첫째 줄에 킹의 위치, 돌의 위치, 움직이는 횟수 N이 주어진다. 둘째 줄부터 N개의 줄에는 킹이 어떻게 움직여야 하는지 주어진다. N은 50보다 작거나 같은 자연수이고, 움직이는 정보는 위에 쓰여 있는 8가지 중 하나이다.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>출력</h2>
|
|
<p>첫째 줄에 킹의 마지막 위치, 둘째 줄에 돌의 마지막 위치를 출력한다.</p>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 1 복사</h2>
|
|
<pre class="sampledata" id="sample-input-1">A1 A2 5
|
|
B
|
|
L
|
|
LB
|
|
RB
|
|
LT
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 2 복사</h2>
|
|
<pre class="sampledata" id="sample-input-2">A1 H8 1
|
|
T
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 3 복사</h2>
|
|
<pre class="sampledata" id="sample-input-3">A1 A2 1
|
|
T
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 4 복사</h2>
|
|
<pre class="sampledata" id="sample-input-4">A1 A2 2
|
|
T
|
|
R
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 5 복사</h2>
|
|
<pre class="sampledata" id="sample-input-5">A8 B7 18
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
RB
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 입력 6 복사</h2>
|
|
<pre class="sampledata" id="sample-input-6">C1 B1 3
|
|
L
|
|
T
|
|
LB
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 1 복사</h2>
|
|
<pre class="sampledata" id="sample-output-1">A1
|
|
A2
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 2 복사</h2>
|
|
<pre class="sampledata" id="sample-output-2">A2
|
|
H8
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 3 복사</h2>
|
|
<pre class="sampledata" id="sample-output-3">A2
|
|
A3
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 4 복사</h2>
|
|
<pre class="sampledata" id="sample-output-4">B2
|
|
A3
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 5 복사</h2>
|
|
<pre class="sampledata" id="sample-output-5">G2
|
|
H1
|
|
</pre>
|
|
</article>
|
|
<article class="section">
|
|
<h2>예제 출력 6 복사</h2>
|
|
<pre class="sampledata" id="sample-output-6">B2
|
|
A1
|
|
</pre>
|
|
</article>
|
|
</main>
|
|
</body>
|
|
</html>
|