From dc08c423b189ade0f8f29a2b2c5af745aed68981 Mon Sep 17 00:00:00 2001 From: Ashar Fuadi Date: Sun, 29 Mar 2015 23:07:29 +0700 Subject: [PATCH] Add warnings on unsupported complex constructs --- docs/advanced_concepts.rst | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/advanced_concepts.rst b/docs/advanced_concepts.rst index 1c76b1cb..2f0ade20 100644 --- a/docs/advanced_concepts.rst +++ b/docs/advanced_concepts.rst @@ -29,3 +29,24 @@ This can be achieved by overriding a special method **BaseGenerator::FinalizeInp } } } + +Complex input/output format +--------------------------- + +Suppose we have the following input format description from the problem statement: + + The first line contains an integer N. The next N lines each contains one of the following type: + + - 1 A[i] B[i] + - 2 A[i] B[i] C[i] + +How to deal with this one? + +Unfortunately, as of this version, the above format is not supported yet. This version only supports input/output formats that are free of custom loops and conditional branches. + +I am designing how to support that in the next versions. + +Complex predicates in constraints +--------------------------------- + +Similarly, methods used in defining constraints (Constraints(), SubtaskX()) must be free of custom loops and conditional branches. If you want to use complex predicate, such as determining whether the input is a tree, create a custom private helper method that return boolean (whether the input is a tree).