반응형
리뷰
처음엔 문제가 이해가 안됐고, 이해가 된 후에는 점화식을 어떻게 세워야 할지 고민이 됐다. 정답률이 어떻게 80%가 넘는거지?
문제 풀이
- 경우의 수를 생각하면 도미노 한칸은 i, 다른 도미노 한칸은 j라고 생각해 보자
- i도미노가 0 ~ n까지 들어올때 j도미노는 i부터 n까지 들어올 수 있다.
- 예를 들어 n이 3이라면 i도미노가 0일때 j도미노는 0~3까지 들어올 수 있다.
- i도미노가 1일때 j도미노는 1~3까지 들어올 수 있다. 이를 n까지 반복한다.
- for문이 종료되면 최종 정답을 출력해 준다.
참고 사항
n | ||||||||||||||||
1 | x | 0 | 1 | 1 | ||||||||||||
y | 0 | 0 | 1 | |||||||||||||
2 | x | 0 | 1 | 2 | 1 | 2 | 2 | |||||||||
y | 0 | 0 | 0 | 1 | 1 | 2 | ||||||||||
3 | x | 0 | 1 | 2 | 3 | 1 | 2 | 3 | 2 | 3 | 3 | |||||
y | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 2 | 3 | ||||||
4 | x | 0 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 2 | 3 | 4 | 3 | 4 | 4 |
y | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 4 |
x와 y가 각 도미노 칸이라고 생각하면 된다. 중복은 허용되지 않는다.
정답 코드
#include <iostream>
using namespace std;
int main() {
int n, i, j, ans = 0;
cin >> n;
for (i = 0; i <= n; i++) {
for (j = i; j <= n; j++) {
ans += i;
ans += j;
}
}
cout << ans;
}
728x90
반응형
'알고리즘 공부 > C++' 카테고리의 다른 글
백준 2592번 대표값 C++ (0) | 2024.07.14 |
---|---|
백준 10995번 별찍기 - 20 C++ (2) | 2024.07.14 |
백준 10178번 할로윈의 사탕 C++ (1) | 2024.07.14 |
백준 2010번 플러그 C++ (0) | 2024.07.14 |
백준 9325번 얼마? C++ (0) | 2024.07.14 |