수학(14)
-
[BOJ 4563] 리벤지 오브 피타고라스
- 문제 요약 A^2 + B^2 = C^2피타고라스 정리에서 A(2A)의 개수를 구하시오.(입력은 여러 개의 테스트케이스로 이루어져 있으며, 입력의 마지막 줄에는 0이 하나 주어진다.) - 알고리즘 정리 피타고라스 정리 수식을 변형해서 문제를 해결할 수 있습니다. A^2 + B^2 = C^2A^2 = C^2 - B^2 = (C+B)(C-B) = x * y(A^2의 약수에서 조건 설정 후 걸러내기) - 코드 작성 #includeusing namespace std;typedef long long ll;int result;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while(true){ ll a; cin>>a..
2024.11.19 -
[BOJ 2225] 합분해
- 문제 요약 0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오.덧셈의 순서가 바뀐 경우는 다른 경우로 센다. (1+2와 2+1은 서로 다른 경우). 또한 한 개의 수를 여러 번 쓸 수도 있다.첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.(1 - 알고리즘 정리 DP 문제입니다. dp[K][N] = X (K개를 더해서 N을 만들 수 있는 경우의 수가 X)dp[K][N] = dp[K-1][0] + dp[K-1][1] + ... + dp[K-1][N] 위와 같이 점화식을 작성하면 문제를 해결할 수 있습니다. - 코드 작성 #includeusing namespace std;#define MAX 201typedef long long ll;l..
2024.11.18 -
[BOJ 28357] 사탕 나눠주기
https://www.acmicpc.net/problem/28357 28357번: 사탕 나눠주기 소수전공 수업을 마무리한 찬우는 축하의 의미로 학생들에게 사탕을 나누어 주려 한다. 구체적으로, 기준이 되는 음이 아닌 정수 $X$를 정한 뒤 최종 점수가 $X$점을 넘는 학생들에게 점수가 높은 www.acmicpc.net - 문제 요약 소수전공 수업을 마무리한 찬우는 축하의 의미로 학생들에게 사탕을 나누어 주려 한다. 구체적으로, 기준이 되는 음이 아닌 정수 X를 정한 뒤 최종 점수가 X점을 넘는 학생들에게 점수가 높은 만큼 많은 사탕을 줄 것이다. 즉, X+1점을 받은 학생은 1개, X+2점을 받은 학생은 2개, T(T > X)점을 받은 학생은 T - X개의 사탕을 받게 된다. 찬우는 학생들에게 최대한 많..
2023.07.22 -
[BOJ 28352] 10!
https://www.acmicpc.net/problem/28352 28352번: 10! BOJ 채점 환경에서 int 자료형은 최대 $2^{31}-1=2\,147\,483\,647$까지의 정수를 저장할 수 있고, C/C++의 long long과 Java의 long은 최대 $2^{63}-1=9\,223\,372\,036\,854\,775\,807$까지의 정수를 저장할 수 있다. www.acmicpc.net - 문제 요약 10!초는 정확히 6주와 같다. 10!초는 1 x 2 x 3 x ... x 9 x 10 = 3 628 800초이고, 6주도 7 x 6 x 24 x 60 x 60 = 3 628 800초이기 때문이다. N! = 1 x 2 x 3 x ... x N-1 x N초는 몇 주인지 구하는 프로그램을 작성..
2023.07.20 -
[BOJ 11812] K진 트리
https://www.acmicpc.net/problem/11812 11812번: K진 트리 첫째 줄에 N (1 ≤ N ≤ 1015)과 K (1 ≤ K ≤ 1 000), 그리고 거리를 구해야 하는 노드 쌍의 개수 Q (1 ≤ Q ≤ 100 000)가 주어진다. 다음 Q개 줄에는 거리를 구해야 하는 두 노드 x와 y가 주어진다. (1 ≤ x, y www.acmicpc.net - 문제 요약 각 노드가 자식을 최대 K개 가질 수 있는 트리를 K진 트리라고 한다. (1 ≤ K ≤ 1 000) 총 N개의 노드로 이루어져 있는 K진 트리가 주어진다. (1 ≤ N ≤ 10^15) 트리는 "적은 에너지" 방법을 이용해서 만든다. "적은 에너지" 방법이란, 이전 깊이를 모두 채운 경우에만, 새로운 깊이를 만드는 것이고,..
2023.05.27 -
[BOJ 9661] 돌 게임 7
https://www.acmicpc.net/problem/9661 9661번: 돌 게임 7 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000) www.acmicpc.net - 문제 요약 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. (1 ≤ N ≤ 1,000,000,000,000) 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 4x개만큼 가져갈 수 있다. 즉, 가능한 개수는 1, 4, 16, 64, ...개 이다. 4x개만큼 돌을 가져갈 수 있는 방법이 없는 사람이 게임을 지게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. - 알고리즘 정리 돌 게임에서는 번갈아가며 ..
2023.05.15