๋ฐฑ์ค€

๋ฐฑ์ค€ 24337 ๊ฐ€ํฌ์™€ ํƒ‘ - ํŒŒ์ด์ฌ

stoneeee 2022. 11. 19. 14:00

https://www.acmicpc.net/problem/24337

 

24337๋ฒˆ: ๊ฐ€ํฌ์™€ ํƒ‘

์ผ์ง์„ ์œผ๋กœ ๋‹ค์–‘ํ•œ ๋†’์ด์˜ ๊ฑด๋ฌผ๋“ค์ด N๊ฐœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€ํฌ๋Š” ๊ฑด๋ฌผ๋“ค์˜ ์™ผ์ชฝ์—, ๋‹จ๋น„๋Š” ๊ฑด๋ฌผ๋“ค์˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ์ง์„  ์ƒ์— ๊ฐ€ํฌ์™€ ๋‹จ๋น„, ๊ฑด๋ฌผ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

www.acmicpc.net

 

 

 

์™ผ์ชฝ์— ๊ฐ€ํฌ, ์˜ค๋ฅธ์ชฝ์— ๋‹จ๋น„๊ฐ€ ์žˆ๊ณ , ์ธ๊ฐ„๊ณผ ๊ฑด๋ฌผ ์‚ฌ์ด์— ๊ทธ ๊ฑด๋ฌผ๋ณด๋‹ค ์ž‘์€ ๊ฑด๋ฌผ๋งŒ ์žˆ์–ด์•ผ ํ•ด๋‹น ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ™์€ ๊ฒƒ๋„ ๋ชป๋ณธ๋‹ค.

 

๋จผ์ €, ๊ฑด๋ฌผ์˜ ์ˆ˜์ธ N์€ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์กฐ๊ฑด๋งŒ ๋งŒ์กฑ์‹œ์ผœ ๋ณด์ž.

 

์ด ์กฐ๊ฑด๋งŒ์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•˜๋‹ค.

์™ผ์ชฝ๋ถ€ํ„ฐ ๊ฑด๋ฌผ์ด 1๋ถ€ํ„ฐ a๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์žˆ๊ณ , ๋˜ ๊ทธ ์˜†์—๋Š” b๋ถ€ํ„ฐ 1๊นŒ์ง€ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์žˆ์œผ๋ฉด ๋œ๋‹ค.

a = 3, b = 3์ธ ๊ฒฝ์šฐ์—๋Š” ๊ฑด๋ฌผ์ด 1 2 3 2 1 ์ด๋Ÿฐ ์‹์œผ๋กœ ์žˆ๋Š” ๊ฒŒ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์ด๋‹ค.

 

๋‹ค๋งŒ, a์™€ b ์ค‘ ๋” ์ž‘์€ ๋†’์ด์˜ ๊ฑด๋ฌผ์€ ์กด์žฌํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆฌ๋ƒ๋ฉด, a = 3, b = 2์ธ ๊ฒฝ์šฐ 1 2 3 2 1 ์ด ์•„๋‹ˆ๋ผ 1 2 3 1 ์ด์–ด์•ผ ํ•œ๋‹ค.

1 2 3 2 1 ์ด๋ฉด ์˜ค๋ฅธ์ชฝ์—์„œ ๋ด๋„ ๊ฑด๋ฌผ์ด 3๊ฐœ๋‚˜ ๋ณด์ธ๋‹ค. a > b์ด๋ฏ€๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ๊ฑด๋ฌผ ์ค‘ ๋†’์ด๊ฐ€ b์ธ ๊ฑด๋ฌผ์„ ์ง€์›Œ์ค˜์•ผ ์‚ฌ์ „ ์ˆœ ๊ฐ€์žฅ ์•ž์„œ๋ฉด์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค.

์‚ฌ์‹ค a์™€ b๊ฐ€ ๊ฐ™์•„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. a = 3, b = 3์ธ ๊ฒฝ์šฐ์—์„œ 1 2 3 3 2 1๋„ ์กฐ๊ฑด์€ ๋งŒ์กฑํ•˜์ง€๋งŒ 1 2 3 2 1์ด ๋” ๊ฐ„๋‹จํ•˜๋‹ค.

 

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” 1 ~ (a-1) ๊นŒ์ง€ ๊ฑด๋ฌผ์„ ์„ธ์šฐ๊ณ , max(a, b) ๋†’์ด์˜ ๊ฑด๋ฌผ์„ ์„ธ์šด ๋’ค, (b-1) ~ 1 ๊นŒ์ง€์˜ ๊ฑด๋ฌผ์„ ์„ธ์šฐ๋ฉด ๋œ๋‹ค.

 

 

์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ๊ตฌํ˜„ํ•œ ์˜ˆ์‹œ๋ฅผ ์ฐพ์•„๋ณด์ž๋ฉด

a = 3, b = 1์˜ ๊ฒฝ์šฐ 1 2 3,

a = 3, b = 2์˜ ๊ฒฝ์šฐ 1 2 3 1,

a = 3, b = 5์˜ ๊ฒฝ์šฐ 1 2 5 4 3 2 1,

a = 1, b = 4์˜ ๊ฒฝ์šฐ 4 3 2 1

 

์ •๋„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ด์ œ ์—ฌ๊ธฐ์„œ N์„ ์ถ”๊ฐ€ํ•ด ๋ณธ๋‹ค.

 

๋งŒ์•ฝ ํ•„์ˆ˜์ ์œผ๋กœ ์„ธ์›Œ์•ผ ํ•˜๋Š” ๊ฑด๋ฌผ์˜ ์ˆ˜๊ฐ€ N๋ณด๋‹ค ํฌ๋‹ค๋ฉด ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์—†์œผ๋‹ˆ -1์„ ์ถœ๋ ฅํ•˜๊ณ  ๋– ๋‚˜๋ฉด ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฑด๋ฌผ์˜ ์ˆ˜๋ณด๋‹ค N์ด ํฌ๋‹ค๋ฉด ์ด๋ฏธ ์„ธ์›Œ ๋†“์€ ๊ฑด๋ฌผ์„ ์•ˆ ํ•ด์น˜๋ฉด์„œ ์‚ฌ์ „์ƒ ๊ฐ€์žฅ ์•ž์„œ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค.

 

1์€ ์‚ฌ์ „์ˆœ ์ •๋ ฌํ•  ๋•Œ ์ œ์ผ ์•ž์— ์˜ค๋Š” ์ˆ˜์ด๋ฉด์„œ, ๋งจ ์™ผ์ชฝ์ด๋‚˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ์ง€ ์•Š๋Š” ์ด์ƒ ๋‹ค๋ฅธ ๊ฑด๋ฌผ์— ๊ฐ€๋ ค์„œ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ 1์„ ์•ˆ๋ณด์ด๋Š” ํ•œ ์ œ์ผ ์™ผ์ชฝ์— ๋‚‘๊ฒจ๋„ฃ๊ธฐ๊ฐ€ ๋˜๊ฒ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๋‹ค ๋งŒ์กฑํ•˜๋ฉด์„œ ์–ธ์ œ๋‚˜ ์•„๋ฌด๋„ ๋ชป๋ณด๋Š” ์œ„์น˜๋Š” ๋งจ ์™ผ์ชฝ ๊ฑด๋ฌผ์˜ ์˜ค๋ฅธ์ชฝ์ด๋‹ค.

 

์œ„์˜ ์˜ˆ์‹œ์— N = 6์ด๋ผ๋Š” ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•ด๋ณด๋ฉด

a = 3, b = 1์˜ ๊ฒฝ์šฐ 1 1 1 1 2 3,

a = 3, b = 2์˜ ๊ฒฝ์šฐ 1 1 1 2 3 1,

a = 3, b = 5์˜ ๊ฒฝ์šฐ -1,

a = 1, b = 4์˜ ๊ฒฝ์šฐ 4 1 1 3 2 1

 

์ด๋ ‡๊ฒŒ ๋งจ ์™ผ์ชฝ ๊ฑด๋ฌผ ์˜ค๋ฅธ์ชฝ์— 1์„ ์ˆ˜์— ๋งž๊ฒŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์„ธ ๋ฒˆ์งธ ์ผ€์ด์Šค๋Š” ๊ฑด๋ฌผ์˜ ์ˆ˜๊ฐ€ 7๊ฐœ๊ฐ€ ๋˜์–ด ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค.

 

 

N, a, b = map(int, input().split())
answer = []

# N ๊ณ ๋ ค ์•ˆํ•˜๊ณ  ์ œ์ผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์กฐ๊ฑด ๋งŒ์กฑ์‹œํ‚ค๊ธฐ
for i in range(1, a):
    answer.append(i)
answer.append(max(a, b))
for i in range(b-1, 0, -1):
    answer.append(i)

if len(answer) > N: # ์กฐ๊ฑด์ด ๋งŒ์กฑ์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ
    print(-1)
else:
    print(answer[0], end=" ")
    for i in range(N-len(answer)): # ํ•ต์‹ฌ ํฌ์ธํŠธ
        print(1, end=" ")
    for i in range(1, len(answer)):
        print(answer[i], end=" ")

 

 

๋ฌธ์ œ๋ฅผ ์ž˜๋ชป ์ดํ•ดํ•ด์„œ ์ข€ ํ—ค๋งธ์—ˆ๋‹ค.

์ด๋ ‡๋‹ค ํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๊ณจ๋“œ์ธ ์ด์œ ๊ฐ€ ์žˆ์—ˆ๋‹ค.