ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [λ°±μ€€] 10166 관쀑석 with Python
    PS 2022. 3. 16. 00:36
    728x90
    λ°˜μ‘ν˜•

    πŸ“Œ BOJ 10166 관쀑석

    πŸ’‘ 쑰건

    1. λ°˜μ§€λ¦„μ΄ 1인 원 μœ„μ—λŠ” μ’Œμ„μ΄ 1개, λ°˜μ§€λ¦„μ΄ 2인 원 μœ„μ—λŠ” μ’Œμ„μ΄ 2개, 이런 μ‹μœΌλ‘œ λ°˜μ§€λ¦„μ΄ D 인 원 μœ„μ—λŠ” μ’Œμ„μ΄ D κ°œκ°€ μžˆλ‹€.
    2. λ¬΄λŒ€μ—μ„œ μ •ν™•νžˆ 뢁μͺ½ λ°©ν–₯μ—λŠ” λͺ¨λ“  원듀에 μ’Œμ„μ΄ 있으며, ν•˜λ‚˜μ˜ 원 μœ„μ— μžˆλŠ” μ’Œμ„λ“€μ€ λ™μΌν•œ 간격을 두고 λ°°μΉ˜λ˜μ–΄ μžˆλ‹€.
    3. 곡연에 λ°˜μ§€λ¦„μ΄ D1보닀 κ°™κ±°λ‚˜ 크고, D2(D1 ≀ D2)보닀 κ°™κ±°λ‚˜ μž‘μ€ 원듀에 배치된 μ’Œμ„λ§Œμ„ ν™œμš©ν•˜λ €κ³  ν•œλ‹€.
    4. μ’Œμ„μ„ 점으둜 κ°„μ£Όν–ˆμ„ λ•Œ, λ‹€λ₯Έ μ’Œμ„μ— μ˜ν•΄ λ¬΄λŒ€ 쀑심이 κ°€λ €μ§€λŠ” μ’Œμ„μ€ μ‚¬μš©ν•˜μ§€ μ•Šκ³ , 그렇지 μ•Šμ€ μ’Œμ„μ€ λͺ¨λ‘ μ‚¬μš©ν•œλ‹€.
    5. μˆ«μžλŠ” μ›μ˜ λ°˜μ§€λ¦„μ„ λ‚˜νƒ€λ‚΄κ³ , ●은 곡연에 μ‚¬μš©λ˜λŠ” μ’Œμ„, βŠ—μ€ 곡연에 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” μ’Œμ„μ„ λ‚˜νƒ€λ‚Έλ‹€.
      μ›μ˜ λ°˜μ§€λ¦„ D1κ³Ό D2κ°€ μ–‘μ˜ μ •μˆ˜λ‘œ 주어진닀. 단, 1 ≀ D1 ≀ D2 ≀ 2,000이닀.
    6. μˆ˜ν•™, μ •μˆ˜λ‘  μœ ν˜•μ˜ 문제

    πŸ–₯ μ†ŒμŠ€ μ½”λ“œ

    from sys import stdin
    from math import gcd
    
    
    def solve():
        a, b = map(int, stdin.readline().split())
        arr = [[0] * b for _ in range(b)]
    
        ans = 0
    
        for i in range(a, b + 1):
            for j in range(1, i + 1):
                g = gcd(i, j)
    
                x, y = i // g, j // g
    
                if not arr[x-1][y-1]:
                    arr[x-1][y-1] = 1
                    ans += 1
    
        print(ans)
    
    solve()

    πŸ”– 예제 및 μ‹€ν–‰κ²°κ³Ό

    예제

    3 6

    μ‹€ν–‰κ²°κ³Ό

    12

    ⌨️ 문제 풀이

    1. D1λΆ€ν„° D2κΉŒμ§€ μˆœνšŒν•˜λ©΄μ„œ 자리 μ°ΎκΈ°
    2. 1λ²ˆλΆ€ν„° iκΉŒμ§€ μ’Œμ„μ„ μ°Ύμ•„μ„œ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•˜κ³  ν™•μΈν•˜κ³ μžˆλŠ” μžλ¦¬λ“€μ„ μ΅œλŒ€κ³΅μ•½μˆ˜ g둜 λ‚˜λˆ„μ–΄μ€€λ‹€.
    3. ν™•μΈν•˜λ €λŠ” μžλ¦¬κ°€ 이미 μ–΄λ”˜κ°€μ— κ°€λ €μ Έ μžˆλ‹€λ©΄ pass, μ•„λ‹ˆλ©΄ ans += 1

    πŸ’Ύ λŠλ‚€μ 

    1. 문제λ₯Ό μ–΄λ–»κ²Œ 풀어야할지 μ•„μ˜ˆ 감이 였질 μ•Šμ•„μ„œ 문제의 해섀을 보고 ν’€μ—ˆμŠ΅λ‹ˆλ‹€.
    2. μˆ˜ν•™μ— κ΄€λ ¨λœ 문제λ₯Ό 많이 μ–΄λ €μ›Œν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.