λ°˜μ‘ν˜•

πŸ’  Cpp/[Solved.ac] Class2~4 35

[BOJ][C++] λ°±μ€€ 17626번: Four Squares (Silver III)

https://www.acmicpc.net/problem/17626 λ¬Έμ œλΌκ·Έλž‘μ£ΌλŠ” 1770년에 λͺ¨λ“  μžμ—°μˆ˜λŠ” λ„· ν˜Ήμ€ κ·Έ μ΄ν•˜μ˜ 제곱수의 ν•©μœΌλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€κ³  증λͺ…ν•˜μ˜€λ‹€. μ–΄λ–€ μžμ—°μˆ˜λŠ” 볡수의 λ°©λ²•μœΌλ‘œ ν‘œν˜„λœλ‹€. 예λ₯Ό λ“€λ©΄, 26은 52κ³Ό 12의 합이닀; λ˜ν•œ 42+ 32+ 12으둜 ν‘œν˜„ν•  μˆ˜λ„ μžˆλ‹€. μ—­μ‚¬μ μœΌλ‘œ μ•”μ‚°μ˜ λͺ…μˆ˜λ“€μ—κ²Œ κ³΅ν†΅μ μœΌλ‘œ μ£Όμ–΄μ§€λŠ” λ¬Έμ œκ°€ λ°”λ‘œ μžμ—°μˆ˜λ₯Ό λ„· ν˜Ήμ€ κ·Έ μ΄ν•˜μ˜ 제곱수 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λΌλŠ” κ²ƒμ΄μ—ˆλ‹€. 1900λ…„λŒ€ μ΄ˆλ°˜μ— ν•œ μ•”μ‚°κ°€κ°€ 15663 = 1252+ 62+ 12+ 12λΌλŠ” ν•΄λ₯Ό κ΅¬ν•˜λŠ”λ° 8μ΄ˆκ°€ κ±Έλ Έλ‹€λŠ” 보고가 μžˆλ‹€. μ’€ 더 μ–΄λ €μš΄ λ¬Έμ œμ— λŒ€ν•΄μ„œλŠ” 56μ΄ˆκ°€ κ±Έλ Έλ‹€: 11339 = 1052+ 152+ 82+ 52.μžμ—°μˆ˜n이 μ£Όμ–΄μ§ˆ λ•Œ,n을 μ΅œμ†Œ 개수의 제곱수 ν•©μœΌλ‘œ ν‘œν˜„ν•˜..

[BOJ][C++] λ°±μ€€ 30804번: 과일 탕후루 (Silver II)

https://www.acmicpc.net/problem/30804 λ¬Έμ œμ€ν•˜λŠ” κΈ΄ λ§‰λŒ€μ— $N$개의 과일이 κ½‚ν˜€μžˆλŠ” 과일 탕후루λ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 과일의 각 μ’…λ₯˜μ—λŠ” $1$λΆ€ν„° $9$κΉŒμ§€μ˜ λ²ˆν˜Έκ°€ λΆ™μ–΄μžˆκ³ , μ•žμͺ½λΆ€ν„° μ°¨λ‘€λ‘œ $S_1, S_2, \cdots, S_N$번 과일이 κ½‚ν˜€μžˆμŠ΅λ‹ˆλ‹€. 과일 탕후루λ₯Ό λ‹€ λ§Œλ“  μ€ν•˜κ°€ 주문을 λ‹€μ‹œ ν™•μΈν•΄λ³΄λ‹ˆ 과일을 두 μ’…λ₯˜ μ΄ν•˜λ‘œ μ‚¬μš©ν•΄λ‹¬λΌλŠ” μš”μ²­μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.탕후루λ₯Ό λ‹€μ‹œ λ§Œλ“€ μ‹œκ°„μ΄ μ—†μ—ˆλ˜ μ€ν•˜λŠ”, λ§‰λŒ€μ˜ μ•žμͺ½κ³Ό λ’€μͺ½μ—μ„œ λͺ‡ 개의 과일을 λΉΌμ„œ 두 μ’…λ₯˜ μ΄ν•˜μ˜ 과일만 λ‚¨κΈ°κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€. μ•žμ—μ„œ $a$개, λ’€μ—μ„œ $b$개의 과일을 λΉΌλ©΄ $S_{a+1}, S_{a+2}, \cdots, S_{N-b-1}, S_{N-b}$번 과일, 총 $N-(a+b)$κ°œκ°€ κ½‚ν˜€μžˆλŠ” 탕후루가 됩..

[BOJ][C++] λ°±μ€€ 21736번: ν—Œλ‚΄κΈ°λŠ” μΉœκ΅¬κ°€ ν•„μš”ν•΄ (Silver II)

https://www.acmicpc.net/problem/21736 λ¬Έμ œ2020년에 μž…ν•™ν•œ ν—Œλ‚΄κΈ° 도연이가 μžˆλ‹€. λ„μ—°μ΄λŠ” λΉ„λŒ€λ©΄ μˆ˜μ—… λ•Œλ¬Έμ— 학ꡐ에 κ°€μ§€ λͺ»ν•΄ 학ꡐ에 μ•„λŠ” μΉœκ΅¬κ°€ μ—†μ—ˆλ‹€. λ“œλ””μ–΄ λŒ€λ©΄ μˆ˜μ—…μ„ ν•˜κ²Œ 된 λ„μ—°μ΄λŠ” μ–΄μ„œ 캠퍼슀 λ‚΄μ˜ μ‚¬λžŒλ“€κ³Ό μΉœν•΄μ§€κ³  μ‹Άλ‹€.도연이가 λ‹€λ‹ˆλŠ” λŒ€ν•™μ˜ μΊ νΌμŠ€λŠ” $N \times M$ 크기이며 μΊ νΌμŠ€μ—μ„œ μ΄λ™ν•˜λŠ” λ°©λ²•μ€ 벽이 μ•„λ‹Œ μƒν•˜μ’Œμš°λ‘œ μ΄λ™ν•˜λŠ” 것이닀. 예λ₯Ό λ“€μ–΄, 도연이가 ($x$, $y$)에 μžˆλ‹€λ©΄ 이동할 수 μžˆλŠ” 곳은 ($x+1$, $y$), ($x$, $y+1$), ($x-1$, $y$), ($x$, $y-1$)이닀. 단, 캠퍼슀의 λ°–μœΌλ‘œ 이동할 μˆ˜λŠ” μ—†λ‹€.λΆˆμŒν•œ 도연이λ₯Ό μœ„ν•˜μ—¬ μΊ νΌμŠ€μ—μ„œ 도연이가 λ§Œλ‚  수 μžˆλŠ” μ‚¬λžŒμ˜ 수λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•΄λ³΄μž..

[BOJ][C++] λ°±μ€€ 18110번: solved.ac (Silver IV)

https://www.acmicpc.net/problem/18110문제solved.acλŠ” Sogang ICPC Team ν•™νšŒμ›λ“€μ˜ μ•Œκ³ λ¦¬μ¦˜ 곡뢀에 도움을 주고자 λ§Œλ“  μ„œλΉ„μŠ€μ΄λ‹€. μ§€κΈˆμ€ μ„œκ°•λŒ€λΏλ§Œ μ•„λ‹ˆλΌ μˆ˜λ§Žμ€ μ‚¬λžŒλ“€μ΄ solved.ac의 도움을 λ°›μ•„ μ•Œκ³ λ¦¬μ¦˜ 곡뢀λ₯Ό ν•˜κ³  μžˆλ‹€.ICPC Team은 λ°±μ€€ 온라인 μ €μ§€μ—μ„œ λ¬Έμ œν’€μ΄λ₯Ό μ—°μŠ΅ν•˜λŠ”λ°, λ°±μ€€ 온라인 μ €μ§€μ˜ λ¬Έμ œλ“€μ—λŠ” λ‚œμ΄λ„ ν‘œκΈ°κ°€ μ—†μ–΄μ„œ, μ§€κΈˆκΉŒμ§€λŠ” λ‹€μ–‘ν•œ 문제λ₯Ό ν’€μ–΄ 보고 싢더라도 λ‚œμ΄λ„λ₯Ό κ°€λŠ ν•˜κΈ° μ–΄λ €μ›Œ 무슨 문제λ₯Ό ν’€μ–΄μ•Ό 할지 νŒλ‹¨ν•˜κΈ° κ³€λž€ν–ˆκΈ° λ•Œλ¬Έμ— solved.acκ°€ λ§Œλ“€μ–΄μ‘Œλ‹€. solved.acκ°€ 생긴 이후 μ „κ΅­μ—μ„œ 200λͺ… μ΄μƒμ˜ κΈ°μ—¬μž λΆ„λ“€κ»˜μ„œ μ†Œμ€‘ν•œ λ‚œμ΄λ„ μ˜κ²¬μ„ κ³΅μœ ν•΄ μ£Όμ…¨κ³ , μ§€κΈˆμ€ μ•½ 7,000λ¬Έμ œμ— λ‚œμ΄λ„ ν‘œκΈ°κ°€ λΆ™κ²Œ λ˜μ—ˆλ‹€...

[BOJ][C++] λ°±μ€€ 14940번: μ‰¬μš΄ μ΅œλ‹¨κ±°λ¦¬ (Silver I)

https://www.acmicpc.net/problem/14940 λ¬Έμ œμ§€λ„κ°€ 주어지면 λͺ¨λ“  지점에 λŒ€ν•΄μ„œ λͺ©ν‘œμ§€μ κΉŒμ§€μ˜ 거리λ₯Ό κ΅¬ν•˜μ—¬λΌ.문제λ₯Ό μ‰½κ²Œ λ§Œλ“€κΈ° μœ„ν•΄ 였직 κ°€λ‘œμ™€ μ„Έλ‘œλ‘œλ§Œ 움직일 수 μžˆλ‹€κ³  ν•˜μž.μž…λ ₯μ§€λ„μ˜ 크기 nκ³Ό m이 주어진닀. n은 μ„Έλ‘œμ˜ 크기, m은 κ°€λ‘œμ˜ 크기닀.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000)λ‹€μŒ n개의 쀄에 m개의 μˆ«μžκ°€ 주어진닀. 0은 갈 수 μ—†λŠ” 땅이고 1은 갈 수 μžˆλŠ” λ•…, 2λŠ” λͺ©ν‘œμ§€μ μ΄λ‹€. μž…λ ₯μ—μ„œ 2λŠ” 단 ν•œκ°œμ΄λ‹€.좜λ ₯각 μ§€μ μ—μ„œ λͺ©ν‘œμ§€μ κΉŒμ§€μ˜ 거리λ₯Ό 좜λ ₯ν•œλ‹€. μ›λž˜ 갈 수 μ—†λŠ” 땅인 μœ„μΉ˜λŠ” 0을 좜λ ₯ν•˜κ³ , μ›λž˜ 갈 수 μžˆλŠ” 땅인 λΆ€λΆ„ μ€‘μ—μ„œ 도달할 수 μ—†λŠ” μœ„μΉ˜λŠ” -1을 좜λ ₯ν•œλ‹€. ν’€μ΄// 풀이 : https://whkakrkr.tistory.com..

[BOJ][C++] λ°±μ€€ 1676번: νŒ©ν† λ¦¬μ–Ό 0의 개수

https://www.acmicpc.net/problem/1676 1676번: νŒ©ν† λ¦¬μ–Ό 0의 개수 N!μ—μ„œ λ’€μ—μ„œλΆ€ν„° 처음 0이 μ•„λ‹Œ μˆ«μžκ°€ λ‚˜μ˜¬ λ•ŒκΉŒμ§€ 0의 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. www.acmicpc.net 문제 N!μ—μ„œ λ’€μ—μ„œλΆ€ν„° 처음 0이 μ•„λ‹Œ μˆ«μžκ°€ λ‚˜μ˜¬ λ•ŒκΉŒμ§€ 0의 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 N이 주어진닀. (0 ≤ N ≤ 500) 좜λ ₯ 첫째 쀄에 κ΅¬ν•œ 0의 개수λ₯Ό 좜λ ₯ν•œλ‹€. 풀이 1μ—μ„œ nκΉŒμ§€ μˆ˜λ“€μ˜ 5의 인수의 갯수λ₯Ό κ΅¬ν•˜λ©΄ λœλ‹€ μ›λž˜λŠ” μΈμˆ˜κ°€ 2와 5μΌλ•Œμ˜ 갯수λ₯Ό 각각 κ΅¬ν•΄μ„œ 더 적은 갯수λ₯Ό λ¦¬ν„΄ν•˜λ©΄ λ˜μ§€λ§Œ, μ ˆλŒ€μ μœΌλ‘œ 인수 2 의 κ°―μˆ˜κ°€ 인수 5의 κ°―μˆ˜λ³΄λ‹€ λ§ŽμœΌλ―€λ‘œ 인수 5의 갯수만 λ¦¬ν„΄ν•œλ‹€ 참고둜 95%μ—μ„œ 틀리면 n=0인 경우λ₯Ό μƒκ°ν•˜μž 0!..

[BOJ][C++] λ°±μ€€ 9465번: μŠ€ν‹°μ»€

https://www.acmicpc.net/problem/9465 9465번: μŠ€ν‹°μ»€ 첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Tκ°€ 주어진닀. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 첫째 μ€„μ—λŠ” n (1 ≤ n ≤ 100,000)이 주어진닀. λ‹€μŒ 두 μ€„μ—λŠ” n개의 μ •μˆ˜κ°€ 주어지며, 각 μ •μˆ˜λŠ” κ·Έ μœ„μΉ˜μ— ν•΄λ‹Ήν•˜λŠ” μŠ€ν‹°μ»€μ˜ www.acmicpc.net 문제 μƒκ·Όμ΄μ˜ 여동생 상λƒ₯μ΄λŠ” λ¬Έλ°©κ΅¬μ—μ„œ μŠ€ν‹°μ»€ 2n개λ₯Ό κ΅¬λ§€ν–ˆλ‹€. μŠ€ν‹°μ»€λŠ” κ·Έλ¦Ό (a)와 같이 2ν–‰ nμ—΄λ‘œ λ°°μΉ˜λ˜μ–΄ μžˆλ‹€. 상λƒ₯μ΄λŠ” μŠ€ν‹°μ»€λ₯Ό μ΄μš©ν•΄ 책상을 κΎΈλ―Έλ €κ³  ν•œλ‹€. 상λƒ₯이가 κ΅¬λ§€ν•œ μŠ€ν‹°μ»€μ˜ ν’ˆμ§ˆμ€ 맀우 쒋지 μ•Šλ‹€. μŠ€ν‹°μ»€ ν•œ μž₯을 λ–Όλ©΄, κ·Έ μŠ€ν‹°μ»€μ™€ 변을 κ³΅μœ ν•˜λŠ” μŠ€ν‹°μ»€λŠ” λͺ¨λ‘ μ°’μ–΄μ Έμ„œ μ‚¬μš©ν•  수 μ—†κ²Œ λœλ‹€. 즉, λ—€ μŠ€ν‹°μ»€μ˜ μ™Όμͺ½, 였λ₯Έμͺ½, μœ„, μ•„λž˜μ— μžˆλŠ” μŠ€ν‹°μ»€λŠ” μ‚¬μš©ν•  ..

[BOJ][C++] λ°±μ€€ 1927번: μ΅œμ†Œ νž™

https://www.acmicpc.net/problem/1927 1927번: μ΅œμ†Œ νž™ 첫째 쀄에 μ—°μ‚°μ˜ 개수 N(1 ≤ N ≤ 100,000)이 주어진닀. λ‹€μŒ N개의 μ€„μ—λŠ” 연산에 λŒ€ν•œ 정보λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ xκ°€ 주어진닀. λ§Œμ•½ xκ°€ μžμ—°μˆ˜λΌλ©΄ 배열에 xλΌλŠ” 값을 λ„£λŠ”(μΆ”κ°€ν•˜λŠ”) 연산이고, xκ°€ 0 www.acmicpc.net 문제 널리 잘 μ•Œλ €μ§„ 자료ꡬ쑰 쀑 μ΅œμ†Œ νž™μ΄ μžˆλ‹€. μ΅œμ†Œ νž™μ„ μ΄μš©ν•˜μ—¬ λ‹€μŒκ³Ό 같은 연산을 μ§€μ›ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 배열에 μžμ—°μˆ˜ xλ₯Ό λ„£λŠ”λ‹€. λ°°μ—΄μ—μ„œ κ°€μž₯ μž‘μ€ 값을 좜λ ₯ν•˜κ³ , κ·Έ 값을 λ°°μ—΄μ—μ„œ μ œκ±°ν•œλ‹€. ν”„λ‘œκ·Έλž¨μ€ μ²˜μŒμ— λΉ„μ–΄μžˆλŠ” λ°°μ—΄μ—μ„œ μ‹œμž‘ν•˜κ²Œ λœλ‹€. μž…λ ₯ 첫째 쀄에 μ—°μ‚°μ˜ 개수 N(1 ≤ N ≤ 100,000)이 주어진닀. λ‹€μŒ N개의 μ€„μ—λŠ” 연산에 λŒ€ν•œ 정보..

[BOJ][C++] λ°±μ€€ 11403번: 경둜 μ°ΎκΈ°

https://www.acmicpc.net/problem/11403 11403번: 경둜 μ°ΎκΈ° κ°€μ€‘μΉ˜ μ—†λŠ” λ°©ν–₯ κ·Έλž˜ν”„ Gκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, λͺ¨λ“  정점 (i, j)에 λŒ€ν•΄μ„œ, iμ—μ„œ j둜 κ°€λŠ” κ²½λ‘œκ°€ μžˆλŠ”μ§€ μ—†λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. www.acmicpc.net 문제 κ°€μ€‘μΉ˜ μ—†λŠ” λ°©ν–₯ κ·Έλž˜ν”„ Gκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, λͺ¨λ“  정점 (i, j)에 λŒ€ν•΄μ„œ, iμ—μ„œ j둜 κ°€λŠ” κ²½λ‘œκ°€ μžˆλŠ”μ§€ μ—†λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 μ •μ μ˜ 개수 N (1 ≤ N ≤ 100)이 주어진닀. λ‘˜μ§Έ 쀄뢀터 N개 μ€„μ—λŠ” κ·Έλž˜ν”„μ˜ 인접 행렬이 주어진닀. i번째 μ€„μ˜ j번째 μˆ«μžκ°€ 1인 κ²½μš°μ—λŠ” iμ—μ„œ j둜 κ°€λŠ” 간선이 μ‘΄μž¬ν•œλ‹€λŠ” 뜻이고, 0인 κ²½μš°λŠ” μ—†λ‹€λŠ” λœ»μ΄λ‹€. i번째 μ€„μ˜ i번째 μˆ«μžλŠ” 항상 0이닀. 좜λ ₯ ..

[BOJ][C++] λ°±μ€€ 15829번: Hashing

https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 ν™˜μ˜ν•œλ‹€. λ§Œμ•½ μ—¬λŸ¬λΆ„μ΄ ν•™κ΅μ—μ„œ 자료ꡬ쑰λ₯Ό μˆ˜κ°•ν–ˆλ‹€λ©΄ ν•΄μ‹œ ν•¨μˆ˜μ— λŒ€ν•΄ 배웠을 것이닀. ν•΄μ‹œ ν•¨μˆ˜λž€ μž„μ˜μ˜ 길이의 μž…λ ₯을 λ°›μ•„μ„œ κ³ μ •λœ 길이의 좜λ ₯을 λ‚΄λ³΄λ‚΄λŠ” ν•¨μˆ˜λ‘œ μ • www.acmicpc.net 문제 APC에 온 것을 ν™˜μ˜ν•œλ‹€. λ§Œμ•½ μ—¬λŸ¬λΆ„μ΄ ν•™κ΅μ—μ„œ 자료ꡬ쑰λ₯Ό μˆ˜κ°•ν–ˆλ‹€λ©΄ ν•΄μ‹œ ν•¨μˆ˜μ— λŒ€ν•΄ 배웠을 것이닀. ν•΄μ‹œ ν•¨μˆ˜λž€ μž„μ˜μ˜ 길이의 μž…λ ₯을 λ°›μ•„μ„œ κ³ μ •λœ 길이의 좜λ ₯을 λ‚΄λ³΄λ‚΄λŠ” ν•¨μˆ˜λ‘œ μ •μ˜ν•œλ‹€. ν•΄μ‹œ ν•¨μˆ˜λŠ” λ¬΄κΆλ¬΄μ§„ν•œ μ‘μš© λΆ„μ•Όλ₯Ό κ°–λŠ”λ°, λŒ€ν‘œμ μœΌλ‘œ 자료의 μ €μž₯κ³Ό 탐색에 쓰인닀. 이 λ¬Έμ œμ—μ„œλŠ” μ—¬λŸ¬λΆ„μ΄ μ•žμœΌλ‘œ μœ μš©ν•˜κ²Œ μ“Έ 수 μžˆλŠ” ν•΄μ‹œ ν•¨μˆ˜λ₯Ό ν•˜λ‚˜ κ°€λ₯΄μ³μ£Όκ³ μž ν•œλ‹€. λ¨Όμ €, νŽΈμ˜μƒ μž…λ ₯으..

λ°˜μ‘ν˜•