Sablog Models/알고리즘

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

어­리 2009. 6. 21. 09:53
일단 첫 번째 해법.

새로 입력받아서 비교한다!

어차피 입력받으면서 비교한 결과 출력하고 있으니까.
#include <stdio.h>

int main()
{
    int n, i, j;
    int tower, comp;
    int higher;
    FILE *fpi, *fpc, *fpo;

    fpi = fopen("INPUT.TXT", "r");
    fpo = fopen("OUTPUT.TXT", "w");
    fscanf(fpi, "%d", &n);

    for (i = 0; i < n; i++)
    {
        higher = 0;
        fscanf(fpi, "%d", &tower);
        fpc = fopen("INPUT.TXT", "r");
        for (j = 0; j < i; j++)
        {
            fscanf(fpc, "%d", &comp);
            if (comp >= tower)
                higher = j + 1;
        }
        if (i != 0) fprintf(fpo, " ");
        fprintf(fpo, "%d", higher);
    }
    fclose(fpi);
    fclose(fpo);

    return 0;
}

정상 작동.



뭐 이로써 크게 달라진 건 없습니다만...

C 콘솔에서 한번에 파일을 세 개 이상 열면 종종 에러를 맞는다는 소문이 있습니다.


게다가 파일을 계속 새로 읽어 오고 있으니,

시간제한 1초에 걸릴 가능성이 상당히 높군요.


다음 글에서 두 번째 해법을 들고 돌아오겠습니다.