Feedback from the Judge

Be aware that the judges are often very picky as to what denotes a correct solution. It is very important to interpret the problem specifications properly and not make assumptions.

The judge is likely to return one of the following verdicts:

  • Accepted (AC) - Congratulations!
  • Presentation Error (PE) - Check for spaces, left/right justification, line feeds, etc.
  • Accepted (PE) - Your program has a minor presentation error, but the judge is letting you off with a warning. Stop here and declare victory!
  • Wrong Answer (WA) - Your program returned an incorrect answer to one or more secret test cases.
  • Compile Error (CE) - The compiler could not figure out how to compile your program. The resulting compiler messages will be returned to you. Warning messages are ignored by the judge.
  • Runtime Error (RE) - Your program failed during execution due to a segmentation fault, floating point exception, or similar problem. Its dying message will be sent back to you. Check for invalid pointer references or division by zero.
  • Submission Error (SE) - You did not correctly specify one or more of the information fields, perhaps giving an incorrect user ID or problem number.
  • Time Limit Exceeded (TL) - Your program took too much time on at least one of the test cases, so you likely have a problem with efficiency.
  • Memory Limit Exceeded (ML) - Your program tried to use more memory than the judge's default settings.
  • Output Limit Exceeded (OL) - Your program tried to print too much output, perhaps trapped in a infinite loop.
  • Restricted Function (RF) - Your source program tried to use an illegal system function such as fork() or fopen(). Behave yourself.
by RyuiSaka 2007. 8. 23. 16:48
invalid-file

Source Code


문제 : http://acm.kaist.ac.kr/Problems/2005oe.pdf

알고리즘은 재경선배가 준 아이디어를 그대로 썼습니다.
STL을 이용해서 매우 편리하게 구현 했습니다.
알고리즘은 이미 다들 알테니 C++에서 Vector와 Sorting 알고리즘, Iterator 사용법을 중점적으로 봐주세요. :)
by RyuiSaka 2007. 8. 5. 10:05

2004년 온라인예선 문제 페이지에서 표준입출력에 대해 대회 관리자가 써놓은 글입니다.
지난번에 한번 봤던것 같긴 한데, 미처 제대로 못보고 넘어간 부분이 있더군요.
붉은색의 볼드채로 표시해놓은 부분을 유념하면 될것같습니다.
애초에 파일 입출력은 ACM에서 필요하지 않은거네요.
굳이 필요하다면 테스트할때나 필요하겠네요.(근데 테스트 할 시간이나 있을런지;)
2004년 온라인예선 E번문제(정렬) 다시 풀고있는 중입니다.
풀게되면;; 올리겠습니다.
----

  • 문제의 입출력은 표준 입출력으로 합니다.
    • 표준 입출력의 예
      1. C
      scanf ( "%d", &n ); // 표준 입력 부분
      printf ( "I got %d\n", n ); // 표준 출력 부분
      2. C++
      cin >> n; // 표준 입력 부분
      cout << "I got " << n << endl; // 표준 출력 부
      3. JAVA
      System.in.read ( n ); // 표준 입력 부분
      System.out.println ( "I got " + n ); // 표준 출력 부분

    • 반드시 이런 식으로 입출력을 해야하는 것은 아닙니다. 표준 입출력에 대해서 질문하시는 분이 많아서 이런 식으로 하면 된다는 예를 보인 것뿐입니다.
    • 프로그램 내에서 입력 파일을 열거나 출력 파일을 만들어서 입출력하지 마세요.
    • 문제에 적혀있는 입력 파일의 이름은 PC2에서 TEST를 실행하게 되면 PC2에서 그 이름의 파일을 Redirection하는 것입니다.
    • 채점 위원도 마찬가지로 Redirection을 통해서 채점하게 됩니다.
  • 문제를 다 푸신 후 제출하실 때에는 PC2에서 문제(Problem)를 고르시고 작성하신 언어(Language)를 선택하시고 소스 파일(Main File)을 선택하시고 제출(Submit)하시면 됩니다. 제출하시기 전에 테스트(Test)를 하셔도 됩니다.
  • 문제에 적혀 있는 입력 파일의 이름(예:"A.in")은 PC2에서 TEST 버튼을 이용해서 테스트할 때 쓰는 입력 파일의 이름입니다. PC2에서 TEST 버튼을 이용해서 심사 위원이 채점하는 방식과 똑같이 테스트 해보려면 반드시 문제에 적혀 있는 입력 파일의 이름으로 입력 파일을 만들어서 실행 파일과 같은 디렉토리에 넣고 테스트를 해 보십시오. Submit 하시기 전에 TEST를 해보시기를 권해드립니다.
  • by RyuiSaka 2007. 7. 26. 05:58
    제일 궁금한 C++ 컴파일러에 관한 정보를 낚아왔습니다.

    http://acm.kaist.ac.kr/forum/viewtopic.php?t=15

    대충 요약하자면,
    6.0 컴파일러를 쓰게되면 .NET 컴파일러가 지원하는 기능을 사용하지 못하므로 .NET 컴파일러를 사용하고 여러 환경을 고려하기 위해 MingW gcc 컴파일러도 같이 사용한다는 거군요.

    맨 밑에 보시면 사용 가능한 IDE도 있으니 참고하여 지금부터 익히도록 합시다.
    by 알 수 없는 사용자 2007. 7. 25. 17:48

    invalid-file

    문제


    invalid-file

    Source Code


    몇번을 시도한 끝에 받아낸 'Solved'메시지인지;;
    경계값 문제가 아니라 int형의 범위 문제였던것 같네요.
    Visual C++ 계열 컴파일러의 경우 int형이 4바이트라서 1,000,000이라는 큰 숫자도
    문제없이 인식 가능하지만 Programming Challenges Judge 사이트에서 사용하는
    컴파일러는 int형을 2바이트로 인식하지 않나 싶습니다.
    그래서 int형으로 선언해놓고 summit 할 경우, 큰 수를 입력값으로 줬을 경우 에러가 나서
    'Wrong Answer'가 뜨지 않나 싶네요.
    일단 'Solved' 뜨긴 했는데....Runtime이 안습이네요.
    아마도 Judge로봇이 Worst Case를 기준으로 Runtime을 측정하지 않나 싶습니다.
    제가 Summit한 코드 Runtime이 3.608초 나왔네요;;(Worst Case에서는 PC에서
    돌릴때도 하나, 둘, 셋 하면 답이 뜹니다;;)
    함수사용 유무는 그다지 실행시간에 영향을 미치지 않는듯 싶습니다.
    쓸때와 안쓸때 0.008초 차이 나네요;;
    더 효율적인 알고리즘이 존재하는듯 하네요;;
    Best Time을 보니 0.008초네요 -_-;;;;
    암튼....실행시간도 신경 써야할것 같습니다.

    by RyuiSaka 2007. 7. 21. 03:55

    invalid-file

    Source Code

    invalid-file

    Sample Input



    문제 해석이 힘들어서 그렇지 풀이 자체는 쉬웠습니다.
    한번에 로봇 통과했네요;;
    ----

    Greedy Gift Givers

    A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange gifts of money. Each of these friends might or might not give some money to any or all of the other friends. Likewise, each friend might or might not receive money from any or all of the other friends. Your goal in this problem is to deduce how much more money each person gives than they receive.

    The rules for gift-giving are potentially different than you might expect. Each person sets aside a certain amount of money to give and divides this money evenly among all those to whom he or she is giving a gift. No fractional money is available, so dividing 3 among 2 friends would be 1 each for the friends with 1 left over -- that 1 left over stays in the giver's "account".

    In any group of friends, some people are more giving than others (or at least may have more acquaintances) and some people have more money than others.

    Given a group of friends, no one of whom has a name longer than 14 characters, the money each person in the group spends on gifts, and a (sub)list of friends to whom each person gives gifts, determine how much more (or less) each person in the group gives than they receive.

    IMPORTANT NOTE

    The grader machine is a Linux machine that uses standard Unix conventions: end of line is a single character often known as '\n'. This differs from Windows, which ends lines with two charcters, '\n' and '\r'. Do not let your program get trapped by this!

    PROGRAM NAME: gift1

    INPUT FORMAT

    Line 1: The single integer, NP
    Lines 2..NP+1: Each line contains the name of a group member
    Lines NP+2..end: NP groups of lines organized like this:
    The first line in the group tells the person's name who will be giving gifts.
    The second line in the group contains two numbers: The initial amount of money (in the range 0..2000) to be divided up into gifts by the giver and then the number of people to whom the giver will give gifts, NGi (0 ≤ NGi ≤ NP-1).
    If NGi is nonzero, each of the next NGi lines lists the the name of a recipient of a gift.

    by RyuiSaka 2007. 7. 9. 17:53

    invalid-file

    2004년 온라인예선 D - 미팅주선

    invalid-file

    소스코드

    invalid-file

    입력파일

    invalid-file

    결과 출력파일


    순전히 노가다문제였습니다.
    문제를 푸는 Solution은 이미 초반에 파악했지만 막상 구현하는데 꽤나 오랜시간이
    걸렸던 문제입니다.
    괜히 타율이 낮은게 아니더군요;;
    다행히 STL의 힘으로 완성했습니다.
    소스코드 보고 익힐 사항은 Vector 자료형의 사용법과 Permutation의 모든 경우의수를
    구해주는 next_permutation 메소드입니다.
    일단 소스코드를 보고 이해가 안가는 부분은 개인적으로 물어보시기 바랍니다.
    시간 나면 Solution과 코드 설명 올리겠습니다;;

    by RyuiSaka 2007. 7. 5. 00:58

    Googling 하다가 찾은 포스트입니다.
    평소 궁금했던 부분에 대한 이야기들이 오가네요.
    참고해서 패널티 받는 일이 없도록 합시다.

    http://acm.kaist.ac.kr/forum/viewtopic.php?p=1413&highlight=&sid=a5d73086c564044fd0adb82ad278caa9#1413

    by RyuiSaka 2007. 7. 1. 21:22
    | 1 |