처음 컴파일 돌려보는 뉴비입니다

  • superdog79
    superdog79

    다름이 아니라 이 사이트에서 처음으로 튜토리얼 문제중에 MEETING이란 문제를 풀기위해 코딩을 했습니다.
    그런데 답이 자꾸 오답 처리가 되고 컴파일 실패도 몇번 뜨길래 이렇게 몇가지 여쭙고자 글을 올립니다.

    제가 궁금한 것은

    1. 입력과 출력 예제에서 한케이스가 들어올때마다 출력을 해도 인풋/아웃풋으로 채점하기 때문에 상관없다고 하셨는데 정확히는 어떤 의미인지 이해하기 어렵습니다;;

    2. math.h의 abs를 표준함수대로 썻는데 왜 사이트에서 컴파일시 무슨 scope를 지정해 달라고 하는 겁니까? 잘 모르겠습니다.

    3. main함수는 void형이 아닌 무조건 int형으로 해야되는건가요? 컴파일시 에러가 그렇게 나길래 일단 바꿔서 해보니 컴파일은 됬습니다.

    4. 제가 짠 소스코드인데 오답이 뜹니다;; 어디가 잘못인지 모르겠습니다. 이런 문제를 풀어보는데 있어서 완전초보여서 고수님들의 노하우도 조금 얻고 싶습니다.

    #include<stdio.h>
    #define T 50
    #define N 10000
    int data_num[T],data_input[2][T][N],sum[T];
    int process(int p, int num);
    int main()
    {
        int i,j,k,s,temp,testcase;
    
        scanf("%d",&testcase);//테스트케이스 갯수
        for(i=0; i<testcase; i++)
        {
            scanf("%d",&data_num[i]);//남자,여자 사람수 입력
            for(j=0; j<data_num[i]; j++)//남자정수입력
                scanf("%d",&data_input[0][i][j]);
            for(j=0; j<data_num[i]; j++)//여자정수입력
                scanf("%d",&data_input[1][i][j]);
    
            for(k=0; k<data_num[i]-1; k++)//sort
            {
                if(data_input[0][i][k]>data_input[0][i][k+1])
                {
                    temp=data_input[0][i][k];
                    data_input[0][i][k]=data_input[0][i][k+1];
                    data_input[0][i][k+1]=temp;
                }
                if(data_input[1][i][k]>data_input[1][i][k+1])
                {
                    temp=data_input[1][i][k];
                    data_input[1][i][k]=data_input[1][i][k+1];
                    data_input[1][i][k+1]=temp;
                }
            }
            sum[i]=process(i,data_num[i]);
            printf("%d\n",sum[i]);
        }
        return 0;
    }
    
    int process(int p, int num)
    {
        int i, sum=0;
    
        for(i=0; i<num; i++)
        {
            if((data_input[0][p][i] - data_input[1][p][i])>=0)
                sum+=(data_input[0][p][i] - data_input[1][p][i]);
            else if((data_input[0][p][i] - data_input[1][p][i])<0)
                sum+= (-1*(data_input[0][p][i] - data_input[1][p][i]));
        }
        return sum;
    }
    

    10년 전
1개의 댓글이 있습니다.
  • Being
    Being

    글을 질문과 답변 게시판으로 옮기고 코드 형식을 수정하였습니다.


    10년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.