[๋ฐฑ์ค][Node.js] 10178๋ฒ : ACMํธํ
Algorithm
- ACMํธํ -
๋ฌธ์
ACM ํธํ ๋งค๋์ ์ง์ฐ๋ ์๋์ด ๋์ฐฉํ๋ ๋๋ก ๋น ๋ฐฉ์ ๋ฐฐ์ ํ๊ณ ์๋ค.
๊ณ ๊ฐ ์ค๋ฌธ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ์๋๋ค์ ํธํ ์ ๋ฌธ์ผ๋ก๋ถํฐ ๊ฑธ์ด์ ๊ฐ์ฅ ์งง์ ๊ฑฐ๋ฆฌ์ ์๋ ๋ฐฉ์ ์ ํธํ๋ค๊ณ ํ๋ค.
์ฌ๋ฌ๋ถ์ ์ง์ฐ๋ฅผ ๋์ ์ค ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์ ํ๋ค.
์ฆ ์ค๋ฌธ์กฐ์ฌ ๊ฒฐ๊ณผ ๋๋ก ํธํ ์ ๋ฌธ์ผ๋ก๋ถํฐ ๊ฑท๋ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์งง๋๋ก ๋ฐฉ์ ๋ฐฐ์ ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์ ํ๋ค.
๋ฌธ์ ๋ฅผ ๋จ์ํํ๊ธฐ ์ํด์ ํธํ ์ ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ผ๊ณ ๊ฐ์ ํ์.
๊ฐ ์ธต์ W ๊ฐ์ ๋ฐฉ์ด ์๋ H ์ธต ๊ฑด๋ฌผ์ด๋ผ๊ณ ๊ฐ์ ํ์ (1 ≤ H, W ≤ 99).
๊ทธ๋ฆฌ๊ณ ์๋ฆฌ๋ฒ ์ดํฐ๋ ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ค๊ณ ๊ฐ์ ํ์(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ).
์ด๋ฐ ํํ์ ํธํ ์ H × W ํํ ํธํ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ํธํ ์ ๋ฌธ์ ์ผ์ธต ์๋ฆฌ๋ฒ ์ดํฐ ๋ฐ๋ก ์์ ์๋๋ฐ, ์ ๋ฌธ์์ ์๋ฆฌ๋ฒ ์ดํฐ๊น์ง์ ๊ฑฐ๋ฆฌ๋ ๋ฌด์ํ๋ค.
๋ ๋ชจ๋ ์ธ์ ํ ๋ ๋ฐฉ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ๊ฐ์ ๊ฑฐ๋ฆฌ(๊ฑฐ๋ฆฌ 1)๋ผ๊ณ ๊ฐ์ ํ๊ณ ํธํ ์ ์ ๋ฉด ์ชฝ์๋ง ๋ฐฉ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ฐฉ ๋ฒํธ๋ YXX ๋ YYXX ํํ์ธ๋ฐ ์ฌ๊ธฐ์ Y ๋ YY ๋ ์ธต ์๋ฅผ ๋ํ๋ด๊ณ XX ๋ ์๋ฆฌ๋ฒ ์ดํฐ์์๋ถํฐ ์ธ์์ ๋์ ๋ฒํธ๋ฅผ ๋ํ๋ธ๋ค.
์ฆ, ๊ทธ๋ฆผ 1 ์์ ๋น๊ธ์ผ๋ก ํ์ํ ๋ฐฉ์ 305 ํธ๊ฐ ๋๋ค.
์๋์ ์๋ฆฌ๋ฒ ์ดํฐ๋ฅผ ํ๊ณ ์ด๋ํ๋ ๊ฑฐ๋ฆฌ๋ ์ ๊ฒฝ ์ฐ์ง ์๋๋ค.
๋ค๋ง ๊ฑท๋ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ ๋์๋ ์๋์ธต์ ๋ฐฉ์ ๋ ์ ํธํ๋ค.
์๋ฅผ ๋ค๋ฉด 102 ํธ ๋ฐฉ๋ณด๋ค๋ 301 ํธ ๋ฐฉ์ ๋ ์ ํธํ๋๋ฐ, 102 ํธ๋ ๊ฑฐ๋ฆฌ 2 ๋งํผ ๊ฑธ์ด์ผ ํ์ง๋ง 301 ํธ๋ ๊ฑฐ๋ฆฌ 1 ๋งํผ๋ง ๊ฑธ์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๊ฐ์ ์ด์ ๋ก 102 ํธ๋ณด๋ค 2101 ํธ๋ฅผ ๋ ์ ํธํ๋ค.
์ฌ๋ฌ๋ถ์ด ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ด๊ธฐ์ ๋ชจ๋ ๋ฐฉ์ด ๋น์ด์๋ค๊ณ ๊ฐ์ ํ์ ์ด ์ ์ฑ ์ ๋ฐ๋ผ N ๋ฒ์งธ๋ก ๋์ฐฉํ ์๋์๊ฒ ๋ฐฐ์ ๋ ๋ฐฉ ๋ฒํธ๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
์ฒซ ๋ฒ์งธ ์๋์ 101 ํธ, ๋ ๋ฒ์งธ ์๋์ 201 ํธ ๋ฑ๊ณผ ๊ฐ์ด ๋ฐฐ์ ํ๋ค.
๊ทธ๋ฆผ 1 ์ ๊ฒฝ์ฐ๋ฅผ ์๋ก ๋ค๋ฉด, H = 6์ด๋ฏ๋ก 10 ๋ฒ์งธ ์๋์ 402 ํธ์ ๋ฐฐ์ ํด์ผ ํ๋ค.
์ ์ถ๋ ฅ ์์
๋ฌธ์ ํ๊ธฐ
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n").map((el) => el.split(" ").map((el) => Number(el)));
let result = [];
for (let i = 1; i < input.length; i++) {
// ๋ช ๋ฒ์งธ
let count = 1;
for (let j = 1; j <= input[i][1]; j++) {
// W
for (let k = 1; k <= input[i][0]; k++) {
// H
if (count === input[i][2]) {
if (String(j).length === 1) {
result.push(Number(String(k) + "0" + String(j)));
} else {
result.push(Number(String(k) + String(j)));
}
break;
}
count++;
}
if (result.length === i) break;
}
}
console.log(result.join("\n"));