ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

1783๋ฒˆ: ๋ณ‘๋“  ๋‚˜์ดํŠธ

์ฒซ์งธ ์ค„์— ์ฒด์ŠคํŒ์˜ ์„ธ๋กœ ๊ธธ์ด N์™€ ๊ฐ€๋กœ ๊ธธ์ด M์ด ์ฃผ์–ด์ง„๋‹ค. N๊ณผ M์€ 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

๋ฌธ์ œ ํ’€์ด

 ๋ณ‘๋“  ๋‚˜์ดํŠธ๊ฐ€ N, M ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์„ ์ด๋™ํ•  ๋•Œ, ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ๋Œ€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜์˜€์„ ๋•Œ๋Š” BFS๋กœ ํ‘ธ๋Š” ๊ฑด๊ฐ€? ํ•˜๊ณ  ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ N, M์€ 2,000,000,000๊นŒ์ง€ ์ด๋ฏ€๋กœ ์ตœ๋Œ€ ๊ฐ’์ด ์ž…๋ ฅ๋œ๋‹ค๋ฉด ์‹œ๊ฐ„ ๋‚ด์— ํ†ต๊ณผํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ ๋ณ‘๋“  ๋‚˜์ดํŠธ์˜ ์ด๋™์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด๋ฉด, ์ขŒ์ธก์œผ๋กœ ๊ฐ€์ง€ ์•Š๊ณ  ๋ฐ˜๋“œ์‹œ ์šฐ์ธก์œผ๋กœ ์ด๋™ํ•œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ ๋ฐฉ๋ฌธํ•œ ์นธ์ด 5๊ฐœ ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ์—๋Š” ์ด๋™ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ œ์•ฝ์ด ์—†๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

 ์œ„์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์–ด ๋ณธ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • N = 1
    • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 1
    • ๋ณ‘๋“  ๋‚˜์ดํŠธ๊ฐ€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” 4๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์—†๋‹ค.
  • N = 2
    • M = 1, 2
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 1
    • M = 3, 4
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 2
    • M = 5, 6
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 3
    • M = 7, 8 
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 4
    • M = 9
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 4
    • M = 10
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 4
    • M์— ๋”ฐ๋ผ ์ตœ๋Œ€ 4์นธ์„ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • N = 3
    • M = 1
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 1
    • M = 2
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 2
    • M = 3
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 3
    • M = 4
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 4
    • M = 5
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 4
    • M = 6
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 4
    • M = 7
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 5
    • M = 8
      • ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ : 6
    • M์ด 7๋ณด๋‹ค ํฌ๊ฒŒ ๋˜๋ฉด M - 7 + 5๋ผ๋Š” ๊ทœ์น™์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 ์ด์™€ ๊ฐ™์€ ์กฐ๊ฑด์„ ์ •๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

์ฝ”๋“œ

from sys import stdin


if __name__ == '__main__':
    n, m = map(int, stdin.readline().split())

    if n == 1:
        print(1)
    elif n == 2:
        print(min(4, (m + 1) // 2))
    elif m < 7:
        print(min(4, m))
    else:
        print(m - 7 + 5)

 

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€