Monday, February 11, 2008

SPOJ Techniques

SPOJ online judge is one of the judges which is used by many of the college students. So far only few problems are solved, many techniques have been learned from mistakes. When the solution is submitted the judge gives the result in code. The code has to be interpreted as follows:

1. AC - accepted - your program ran successfully and gave a correct answer

2. WA - wrong answer - your program ran successfully, but gave an incorrect answer

3. TLE - time limit exceeded - your program was compiled successfully, but it didn't stop before time limit

4. CE - compilation error - your program couldn't be compiled; compiler's errors can be seen from www and are sent via mail if your preferences say so; note: only some languages can give CE, syntax errors in intrerpreted languages can lead to WA (Python - no pre-checking syntax or Perl - CE only afer a basic syntax check)

5. RE - runtime error - your program was compiled succesfully, but it exited with an error; possible codes are:
- SIGSEGV (signal 11) - most common, "segmentation fault"
- SIGXFSZ (signal 25) - "output limit exceeded"
- SIGFPE (signal 8) - "floating point error", like division by zero, etc.
- SIGABRT (signal 6) - raised by the program itself; C++ STL does it under some conditions
- NZEC (non-zero exit code) - helps telling crash from WA with interpreted languages
- other - there are other signals which can cause program to terminate, all remaining are shown as other

problems solved:

In the future, the techniques for string manipulation with code will be updated :)

No comments: