2009/07/18 2

2009 정보올림피아드 지역본선 문제 Review (3)-1

3번 문제는 처음 보고 정체를 알 수 없었다. 의좋은 형제 어떤 N × N 개의 단위 구역으로 구성된 논이 있다. 각 단위 구역에서는 쌀이 생산되는데 구역에 따라서 쌀의 생산량이 다르다. 아래는 5 × 5 = 25개의 단위 구역으로 나누어진 논을 보여주고 있다. 각 구역에 적혀 있는 숫자는 예상되는 쌀의 수확량(가마)이다. 3 4 5 1 8 8 2 3 2 2 0 2 9 5 4 1 11 3 0 5 4 5 2 7 1 두 의좋은 형제는 이 N × N의 논을 다음과 같이 두 부분으로 나누어 형은 아래쪽에 있는 땅을 가지고, 동생은 위쪽의 땅을 가지기로 하였다. 전체 구역을 마구잡이로 나누면 기계로 농사를 짓는데 불편하기 때문에 각 형제에게 배분된 구역이 단조 증가하는 계단 모양이 되게 하려고 한다. 즉, 주어진..

2009 정보올림피아드 지역본선 문제 Review (2)-3

이번 솔루션은 다소 간단하다. 또한 내가 작년에 쓰다가 한 문제를 망치게 만든 바로 그 방법이기도 하다.... (당시 int 형 변수를 제곱한 만큼 신규 할당시켰더니 오버플로) 바뀐 줄은 강조해 놓았다. #include #include int main() { int n, i, j; int higher = 0; int *tower = (int *)malloc(sizeof(int)*500001); FILE *fpi, *fpo; tower[0] = 100000000; fpi = fopen("INPUT.TXT", "r"); fpo = fopen("OUTPUT.TXT", "w"); fscanf(fpi, "%d", &n); for (i = 0; i < n; i++) { fscanf(fpi, "%d", tower +..