๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/์ฝ”ํ…Œ

๋ฐฑ์ค€ ๋ธŒ๋ก ์ฆˆ3 10250๋ฒˆ: ACM ํ˜ธํ…”

2023.02.01
C++

10250๋ฒˆ: ACM ํ˜ธํ…”

 

10250๋ฒˆ: ACM ํ˜ธํ…”

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…๋ ฅ์€ T ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ T ๋Š” ์ž…๋ ฅ์˜ ๋งจ ์ฒซ ์ค„์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ํ–‰์œผ๋กœ์„œ H, W, N, ์„ธ ์ •์ˆ˜

www.acmicpc.net

๋ฌธ์ œ

ACM ํ˜ธํ…” ๋งค๋‹ˆ์ € ์ง€์šฐ๋Š” ์†๋‹˜์ด ๋„์ฐฉํ•˜๋Š” ๋Œ€๋กœ ๋นˆ ๋ฐฉ์„ ๋ฐฐ์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๊ณ ๊ฐ ์„ค๋ฌธ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด ์†๋‹˜๋“ค์€ ํ˜ธํ…” ์ •๋ฌธ์œผ๋กœ๋ถ€ํ„ฐ ๊ฑธ์–ด์„œ ๊ฐ€์žฅ ์งง์€ ๊ฑฐ๋ฆฌ์— ์žˆ๋Š” ๋ฐฉ์„ ์„ ํ˜ธํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ง€์šฐ๋ฅผ ๋„์™€ ์ค„ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ฆ‰ ์„ค๋ฌธ์กฐ์‚ฌ ๊ฒฐ๊ณผ ๋Œ€๋กœ ํ˜ธํ…” ์ •๋ฌธ์œผ๋กœ๋ถ€ํ„ฐ ๊ฑท๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์งง๋„๋ก ๋ฐฉ์„ ๋ฐฐ์ •ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค.

๋ฌธ์ œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ˜ธํ…”์€ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. ๊ฐ ์ธต์— W ๊ฐœ์˜ ๋ฐฉ์ด ์žˆ๋Š” H ์ธต ๊ฑด๋ฌผ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž (1 ≤ H, W ≤ 99). ๊ทธ๋ฆฌ๊ณ  ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ์ด๋Ÿฐ ํ˜•ํƒœ์˜ ํ˜ธํ…”์„ H × W ํ˜•ํƒœ ํ˜ธํ…”์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํ˜ธํ…” ์ •๋ฌธ์€ ์ผ์ธต ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋ฐ”๋กœ ์•ž์— ์žˆ๋Š”๋ฐ, ์ •๋ฌธ์—์„œ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋Š” ๋ฌด์‹œํ•œ๋‹ค. ๋˜ ๋ชจ๋“  ์ธ์ ‘ํ•œ ๋‘ ๋ฐฉ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ๊ฐ™์€ ๊ฑฐ๋ฆฌ(๊ฑฐ๋ฆฌ 1)๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํ˜ธํ…”์˜ ์ •๋ฉด ์ชฝ์—๋งŒ ๋ฐฉ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

๊ทธ๋ฆผ 1. H = 6 ์ด๊ณ  W = 12 ์ธ H × W ํ˜ธํ…”์„ ๊ฐ„๋žตํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ฆผ

๋ฐฉ ๋ฒˆํ˜ธ๋Š” YXX ๋‚˜ YYXX ํ˜•ํƒœ์ธ๋ฐ ์—ฌ๊ธฐ์„œ Y ๋‚˜ YY ๋Š” ์ธต ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  XX ๋Š” ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ์—์„œ๋ถ€ํ„ฐ ์„ธ์—ˆ์„ ๋•Œ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฆ‰, ๊ทธ๋ฆผ 1 ์—์„œ ๋น—๊ธˆ์œผ๋กœ ํ‘œ์‹œํ•œ ๋ฐฉ์€ 305 ํ˜ธ๊ฐ€ ๋œ๋‹ค.

์†๋‹˜์€ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋ฅผ ํƒ€๊ณ  ์ด๋™ํ•˜๋Š” ๊ฑฐ๋ฆฌ๋Š” ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๋‹ค๋งŒ ๊ฑท๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์„ ๋•Œ์—๋Š” ์•„๋ž˜์ธต์˜ ๋ฐฉ์„ ๋” ์„ ํ˜ธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด 102 ํ˜ธ ๋ฐฉ๋ณด๋‹ค๋Š” 301 ํ˜ธ ๋ฐฉ์„ ๋” ์„ ํ˜ธํ•˜๋Š”๋ฐ, 102 ํ˜ธ๋Š” ๊ฑฐ๋ฆฌ 2 ๋งŒํผ ๊ฑธ์–ด์•ผ ํ•˜์ง€๋งŒ 301 ํ˜ธ๋Š” ๊ฑฐ๋ฆฌ 1 ๋งŒํผ๋งŒ ๊ฑธ์œผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฐ™์€ ์ด์œ ๋กœ 102 ํ˜ธ๋ณด๋‹ค 2101 ํ˜ธ๋ฅผ ๋” ์„ ํ˜ธํ•œ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์„ฑํ•  ํ”„๋กœ๊ทธ๋žจ์€ ์ดˆ๊ธฐ์— ๋ชจ๋“  ๋ฐฉ์ด ๋น„์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์— ์ด ์ •์ฑ…์— ๋”ฐ๋ผ N ๋ฒˆ์งธ๋กœ ๋„์ฐฉํ•œ ์†๋‹˜์—๊ฒŒ ๋ฐฐ์ •๋  ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์†๋‹˜์€ 101 ํ˜ธ, ๋‘ ๋ฒˆ์งธ ์†๋‹˜์€ 201 ํ˜ธ ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฐฐ์ •ํ•œ๋‹ค. ๊ทธ๋ฆผ 1 ์˜ ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, H = 6์ด๋ฏ€๋กœ 10 ๋ฒˆ์งธ ์†๋‹˜์€ 402 ํ˜ธ์— ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…๋ ฅ์€ T ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ T ๋Š” ์ž…๋ ฅ์˜ ๋งจ ์ฒซ ์ค„์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ํ–‰์œผ๋กœ์„œ H, W, N, ์„ธ ์ •์ˆ˜๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ ํ˜ธํ…”์˜ ์ธต ์ˆ˜, ๊ฐ ์ธต์˜ ๋ฐฉ ์ˆ˜, ๋ช‡ ๋ฒˆ์งธ ์†๋‹˜์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W).

์ถœ๋ ฅ

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์ถœ๋ ฅํ•œ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋งˆ๋‹ค ์ •ํ™•ํžˆ ํ•œ ํ–‰์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ๋‚ด์šฉ์€ N ๋ฒˆ์งธ ์†๋‹˜์—๊ฒŒ ๋ฐฐ์ •๋˜์–ด์•ผ ํ•˜๋Š” ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

2
6 12 10
30 50 72

์˜ˆ์ œ ์ถœ๋ ฅ 1

402
1203

์ฝ”๋“œ

#include <stdio.h>
int main() {
	int T = 0, H = 0, W = 0, N = 0;
	int h, w;
	scanf("%d", &T);
	for (int i = T; i > 0; i--) {
		scanf("%d %d %d", &H, &W, &N);
		// 1203ํ˜ธ 12:h, 03:w. 408ํ˜ธ 4:h, 08:w
		h = N % H;
		w = N / H + 1;

		// ๋งจ๊ผญ๋Œ€๊ธฐ์ธต์— ๋ฐฐ์น˜๋  ๊ฒฝ์šฐ(h==0) ๋”ฐ๋กœ ์กฐ๊ฑด์„ ์ž‘์„ฑํ•ด์•ผํ•จ
		if (h == 0) { 		
			h = H;
			w--;
		}
		printf("%d%02d\\n", h, w); // w๋Š” ๋‘์ž๋ฆฌ์—ฌ์•ผํ•จ(ํ•œ์ž๋ฆฌ์ผ ๊ฒฝ์šฐ ์•ž์— 0์„ ์จ์คŒ -> %02d)
	}
	return 0;
}

์ถœ์ฒ˜

https://okky.kr/articles/700991

scanf() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์•„ ๋ณด์ž

์ˆซ์ž ์ถœ๋ ฅ์‹œ ์•ž์— 0 ๋ถ™์—ฌ ์ž๋ฆฌ์ˆ˜ ์ฑ„์šฐ๊ธฐ