Skip to main content

Parity

BOJ 27421 Make a Loop

·622 words·3 mins
πŸ“ 문제 정보 # 링크: https://www.acmicpc.net/problem/27421 λ²ˆμ—­ 문제 # TaroλŠ” μž₯λ‚œκ° 철도 μ„ λ‘œ μ„ΈνŠΈλ₯Ό κ°€μ§€κ³  놀고 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  μ„ λ‘œλŠ” 직각 쀑심각(90도 각도)을 κ°€μ§„ 호 λͺ¨μ–‘μ΄μ§€λ§Œ, λ°˜μ§€λ¦„μ€ λ‹€μ–‘ν•©λ‹ˆλ‹€. TaroλŠ” 이 λͺ¨λ“  μ„ λ‘œλ₯Ό μ‚¬μš©ν•˜μ—¬ ν•˜λ‚˜μ˜ 루프λ₯Ό λ§Œλ“€λ €κ³  ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ μ„ λ‘œ μ„ΈνŠΈκ°€ ν•˜λ‚˜μ˜ 루프λ₯Ό ν˜•μ„±ν•œλ‹€λŠ” 것은 λͺ¨λ“  μ„ λ‘œμ˜ μ–‘ 끝이 λ‹€λ₯Έ μ„ λ‘œμ™€ λΆ€λ“œλŸ½κ²Œ μ—°κ²°λ˜κ³ , λͺ¨λ“  μ„ λ‘œκ°€ 직접 λ˜λŠ” κ°„μ ‘μ μœΌλ‘œ λ‹€λ₯Έ λͺ¨λ“  μ„ λ‘œμ™€ μ—°κ²°λ˜μ–΄ μžˆμ„ λ•Œλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. Taroκ°€ 이것을 달성할 수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό μ•Œλ €μ£Όμ„Έμš”.

BOJ 34830 ν˜Έν˜„μ΄μ™€ 파이썬

·151 words·1 min
πŸ“ 문제 정보 # 링크: https://www.acmicpc.net/problem/34830 🧐 κ΄€μ°° 및 μ ‘κ·Ό # 문제 상황을 μ°¨κ·Όμ°¨κ·Ό μ‚΄νŽ΄λ³΄μž $a, b$κ°€ μžˆμ„ λ•Œ, $a - b$ λ₯Ό ν•œλ²ˆ μ§€λ‚˜κ°€λ©΄ λœλ‹€. $a, b, c$κ°€ μžˆμ„ λ•Œ, $a - b, b- c, c-a$λ₯Ό ν•œλ²ˆμ”© μ§€λ‚˜κ°€μ•Όν•œλ‹€. $a, b,c ,d$κ°€ μžˆμ„ λ•Œ, $a-b, a-c, a-d, b-c, b-d, c-d$λ₯Ό ν•œλ²ˆμ”© μ§€λ‚˜κ°€μ•Ό ν•œλ‹€. 이λ₯Ό κ·Έλž˜ν”„ 이둠으둜 해석할 수 μžˆμ§€ μ•Šμ„κΉŒ? κ·Έλž˜ν”„κ°€ 있고, 각 간선을 ν•œλ²ˆμ”© μ§€λ‚˜λ˜, μ‹œμ κ³Ό 쒅점이 달라도 λœλ‹€ ν•œλΆ“κ·Έλ¦¬κΈ°κ°€ κ°€λŠ₯ν•œκ°€? 이제 이 λ¬Έμ œλŠ” 였일러 경둜λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 문제둜 바뀐닀. 였일러 κ²½λ‘œλŠ”, ν™€μˆ˜μ μ΄ λ‘κ°œ μ΄ν•˜μΌλ•Œ κ°€λŠ₯ν•˜λ‹€. 정점이 $N$개 μžˆλ‹€κ³  ν•˜λ©΄, κ·Έλž˜ν”„λŠ” μ™„μ „κ·Έλž˜ν”„μ΄λ―€λ‘œ 각 정점에 λΆ™μ–΄μžˆλŠ” 간선은 $N-1$κ°œμ΄λ‹€. $N$이 ν™€μˆ˜λΌλ©΄, λͺ¨λ“  $N$개의 정점은 μ§μˆ˜μ μ΄λ‹€. $N$이 짝수라면, λͺ¨λ“  $N$개의 정점은 ν™€μˆ˜μ μ΄λ‹€. λ”°λΌμ„œ, $N-2$개의 점듀을 μ—°κ²°ν•΄μ„œ ν™€μˆ˜μ μ΄ 2κ°œκ°€ λ˜λ„λ‘ λ§Œλ“œλŠ”κ²ƒμ΄ μ΅œμ μ΄λ‹€. πŸ’» 풀이 # μ½”λ“œ (C++): void solve(){ ll N; cin >> N; ll ans = N * (N-1) / 2; if(N%2 == 0) ans += N/2 - 1; cout << ans; }