Блог пользователя ghost1733

Автор ghost1733, история, 4 года назад, По-английски

I was looking submission of other user and i noticed something common in them,

#ifdef ONLINE_JUDGE

#define OJ \

freopen(file".in", "r", stdin); \

freopen(file".out", "w", stdout);

#else

#define OJ ;

#endif

I want to know how this works .Please help. And how to use it and what does it do?

  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится

»
4 года назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Auto comment: topic has been updated by ghost1733 (previous revision, new revision, compare).

»
4 года назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Auto comment: topic has been updated by ghost1733 (previous revision, new revision, compare).

»
4 года назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Auto comment: topic has been updated by ghost1733 (previous revision, new revision, compare).

»
4 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

I think it works when we use local compilers and add input and output files. but when we use some online judge all these lines are just ignored.

»
4 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

When one uses an online IDE, the input is taken as text and output is printed (in a box) as text. This effect is not available in local IDEs by default. To add this functionality, we include these lines, that specify two text files we have saved in our local device called input.txt and output.txt. By doing so, on writing input in input.txt and then building/running the code, the output will be written to output.txt.