The rules for writing programs are similar to contest rules. A brief resume: the program reads the test inputs from the standard input and places the results in the standard output; they don't need (in fact, they aren't allowed to) open files or to execute some system calls. Remember: never try to open any file or your program will be judged as wrong.
NOTE: To help some people, the Online Judge defines always the 'ONLINE_JUDGE' symbol while compiling your program. Thus, you can test for it to redirect the input/output to a file except while the Online Judge is testing your program. The following C example reads the input from a file called myprog.in and writes the output to myprog.out using only scanf() and printf(). The Online Judge will skip the open() and close() functions and will automatically use stdin and stdout instead of the files:
Code: Select all
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
main()
{
int number;
#ifndef ONLINE_JUDGE
close (0); open ("myprog.in", O_RDONLY);
close (1); open ("myprog.out", O_WRONLY | O_CREAT, 0600);
#endif
scanf ("%d", &number);
printf ("%d\n", number*number);
}