반응형
문제
종이접기와 수학을 좋아하는 주성이는 종이접기와 수학을 한꺼번에 할 수 있는 놀이를 찾아냈다. 바로 N×N 크기를 가지는 색종이의 각 칸에 수를 적어놓고, 색종이를 반으로 접을 때마다 겹치는 부분의 수들을 더하는 것이다. 그리고 이 작업을 색종이를 더는 접을 수 없을 때까지 반복했을 때, 가장 마지막에 남는 수를 구하는 놀이이다.
아래의 예시는 위에서 설명한 놀이의 과정을 2×2 크기의 색종이를 사용하여 상세하게 나타낸 그림이다.
- 색종이를 왼쪽에서 오른쪽으로 정확히 반을 접는다.
- 겹치는 두 칸에 있는 수를 서로 더한다. 위 그림에서는 (1, 1)과 (1, 2)의 두 칸이 겹치고, (2, 1)과 (2, 2)의 두 칸도 겹치는 부분이다.
- 더한 값을 색종이 위에 다시 적는다.
- 색종이를 아래쪽에서 위쪽으로 정확히 반을 접는다.
- 겹치는 두 칸에 있는 수를 서로 더한다. 위 그림에서는 (1, 1)과 (2, 1)의 두 칸이 겹치는 부분이다.
- 더한 값을 색종이 위에 다시 적는다.
색종이를 반으로 접으면서 두꺼워지는 것을 고려하지 않고, 색종이를 더는 접을 수 없을 때까지 위 과정을 반복했을 때 가장 마지막에 남는 수를 구하여라.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void) {
int n, tmp;
long long answer=0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &tmp);
answer += tmp;
}
}
printf("%lld\n", answer);
return 0;
}
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[ C / C++ ] 백준 17478 재귀함수가 뭔가요? (0) | 2022.05.20 |
---|---|
[ C / C++ ] 백준 17363 우유가 넘어지면? (0) | 2022.05.19 |
[ C / C++ ] 백준 16360 Go Latin (0) | 2022.05.17 |
[ C / C++ ] 백준 15815 천재 수학자 성필 (0) | 2022.05.16 |
[ C / C++ ] 백준 15664 N과 M(10) (0) | 2022.05.15 |