- ACF_HOME =
File.realpath(File.join(__dir__, '..', '..', '..'))
- TMPL_DIR =
File.join(ACF_HOME, 'templates')
- DEFAULT_TMPL =
File.join(TMPL_DIR, 'cxx_builtin_default.cxx')
- INTERACTIVE_TMPL =
File.join(TMPL_DIR, 'cxx_builtin_interactive.cxx')
- SCANF_FMTS =
[
'scanf("%<fmt>s", %<addr>s);',
'REP(i, %<sz1>s) scanf("%<fmt>s", %<addr>s);',
'REP(i, %<sz1>s) REP(j, %<sz2>s) scanf("%<fmt>s", %<addr>s);'
].freeze
- FMT_FMTS =
{ number: '%d', string: '%s', char: '%s' }.freeze
- ADDR_FMTS =
{
single: {
number: '&%<v>s',
string: '%<v>s'
},
harray: {
number: '%<v>s + i',
string: '%<v>s[i]',
char: '%<v>s'
},
varray: {
number: '%<v>s + i',
string: '%<v>s[i]'
},
matrix: {
number: '&%<v>s[i][j]',
string: '%<v>s[i][j]',
char: '%<v>s[i]'
}
}.freeze
- DEFAULT_OUTPUT =
"int ans = 0;\nprintf(\"%d\\\\n\", ans);\n"
- BINARY_OUTPUT_FMT =
"bool cond = false;\nputs(cond ? \"%s\" : \"%s\");\n"