Coding
OOP Design

Order Management System

Premium
Difficulty

Read the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.

Available in Python and C++. You are solving it in C++. Switch to Python

xxxxxxxxx x xxxxx xxx, xx xxxxx xxxxxxxxxx xxxxxx xxxxx xx xxxxx xxxxxx. xxxx xxx xxxxx xxxx xxxxxxxxxxxx, xx x xxxx xxxx xxxx xx xxxx xxxx. xxxx xxx xxxxx xxxxxx xxxxxx xxx xxxxx, xxx xxxxx xxx xxxxx xx xxxx xxxx xxxxx xxxxx xxxxxxx xx xxx xx xxx xxxx.

xxx xxx xxxx xxxxxxx, xxx xxx xxxx xx xxxxxxxxx xxxxx. xxxx xxxxxx xxxxxxx xxx xxxxxx. xxx xxxxx xxxxx xxx xxxxx xxxxxxx x xxx_xxx xxxxxx xxxx xx xxxxxxxx xx xxx xxxxxxxx: xx xxxxxxx xxx xxx, xxxxxxx xxx xxxxxxxxxx xx xxxxx, xxx xxxxxxxx xxx xxxxxx xxx xxxxxxxxx. xx xxx xxxxxx xxx xxxxxx.

xxxxx xxx {
xxxxxx:
    xxx::xxxxxx xxxxx(xxxx xxxx xxxxx_xx, xxxxx xxx::xxxxxx& xxxxxx, xxxxx xxx::xxxxxx& xxxx, xxxx xxxx xxx);
    xxx::xxxxxx xxxxxx(xxxx xxxx xxxxx_xx);
    xxx::xxxxxx xxxxx(xxxx xxxx xxxxx_xx, xxxx xxxx xxx_xxx);
    xxx::xxxxxx<xxxx xxxx> xxxxx(xxxxx xxx::xxxxxx& xxxxxx, xxxxx xxx::xxxxxx& xxxx) xxxxx;
    xxxx xxxx xxxxxxxx(xxxxx xxx::xxxxxx& xxxxxx) xxxxx;
};
xxx::xxxxxx<xxx::xxxxxx> xxx_xxx(xxxxx xxx::xxxxxx<xx>& xxx);

xxx xxxxxxxx xxxxxxxx xx xxx xxx xxxxxxxx xxxxx_xx, xxxxxx_xx, xxxxx_xx, xxxxx_xx xxx xxxxxxxx_xx xxxx xxx xxxxx xxx xx xxxxx xxxxxxxxxx, xxx xxx xxx_xxx xxxxxx xxxxxxx xxxxx xxxxxx xx x xxxxxx: "xx" xx "xxxxxx", xxx xxxxxxxx xx x xxxxxx ("xx"), xxx x xxxxx xx xxx xxx xx xxxxxxxxxxx ("(x, x)", "(x)", "()"). x xxxxxxxx xx x xxxx xxxx, xx "xxxxxxxx xxxxxxx" xxxxx xxxxxxx xxxx xxxx.

xxxxx x: xxxxx xxx xxxxxx, xxxx xxxxxxxxxx

  • xxxxx(xxxxx_xx, xxxxxx, xxxx, xxx): xxxxxx xxx xxxxxx "xx" xxxx xx: xxx xx xxx xxxxx xxxx xxxx xx x xxxxxxxxxx xxxxxxxx xxxxx (xxx xxx xxxxx xxxxxx, xxxx xxxxx x xxxxxx), xxxx xx "x" xx "x", xxx xxx xx x xxxxxxxx xxxxxxx. xxxxxxxxx xxxxxx "xxxxxx"; x xxxxxxxx xxxxx xxx xx xxxxxx xxx xxxx xxx xxxxxxx xxx xx.
  • xxxxxx(xxxxx_xx): xxxxxx "xx" xxx xxxxx xxx xxxxx xx xx xxxxxx xxx xx xxxx; xxxxxxxxx "xxxxxx".

xxxxx x: xxxxx, xxxxxxx xxxxx xxxxxxxx xxxxxx

  • xxxxx(xxxxx_xx, xxx_xxx): xxxxxx xx xxx xxxxx xx xxxxxxx xx xxx xxxx, xx xxx_xxx xx xxx x xxxxxxxx xxxxxxx. xx xxxxxxx xxxxxx "xx" xxx xxx xxx xxxxxxxx. xx xxxxx xxxx xxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxxxxx xxx xxxxx'x xxxxx xxxxxxxx; xx xxxxx xxxx xxxxxxxxx xx xxxxx xxx xxxxx xx xxx xxxx xx xxx xxxxx, xx xx xx xxx xxxx xxxx xxxxxx.
  • xxxxx(xxxxxx, xxxx): xxxxxx xxx xxxx xxxxx xxx xxx xxxx xxxxxx xxx xxxx, xx xxxxxxxx xxxxx (xxxxx xx xxxxx xxxxx).

xxxxx x: xxxxxxx xxxxxxxx

  • xxxxxxxx(xxxxxx): xxxxxx xxx xxxxxx'x xxx xxxx xxxxxxxx, xxx xxx xx xxxx xxx xxxxxxxxxx xxxxx xxx xxx xx xxxx xxxx xxxxxxxxxx, xx xx xxxxxxx (x xxx xx xxxxxxx xxxxxx). xxxxxxx xxx xxxxxx xxxx xx xxxxxxxxx. xxxx xxxx xx xxxxxxx xxxxx; xx xxx xxxxxx xxxxx xxxxx xx xxxxxx xx.

xxxxxxxx

xxx x;
x.xxxxx(x, "xxxx", "x", xxx);   // "xx"
x.xxxxx(x, "xxxx", "x", xx);    // "xxxxxx", xxx xx xx xxxxx
x.xxxxx(x, "xxxx", "x", x);     // "xxxxxx", xxx xxxxxxxx xx xxx xxxxxxxx
x.xxxxxx(x);                    // "xx"
x.xxxxxx(x);                    // "xxxxxx", xxx xxxxx xx xxxxxxx xxxxxx

xxx x;
x.xxxxx(x, "xx", "x", xx);      // "xx"
x.xxxxx(x, "xx", "x", xx);      // "xx"
x.xxxxx(x, x);                  // "xx", x xxxxxxxx xxxxx xxxxxxxx
x.xxxxx("xx", "x");             // {x, x}
x.xxxxx(x, xx);                 // "xx", xx xxxxxxxx xxxx xx xxx xxxx
x.xxxxx("xx", "x");             // {x, x}
x.xxxxxxxx("xx");               // xx
x.xxxxx(x, "xx", "x", xx);      // "xx"
x.xxxxxxxx("xx");               // xx

xxxxxxx xxx xxxxxx, xxx xxxxx xxxxxxxx xx xxx_xxx({xxxxx_xx(x, "xxxx", "x", xxx), xxxxx_xx(x, "xxxx", "x", xx), xxxxx_xx(x, "xxxx", "x", x), xxxxxx_xx(x), xxxxxx_xx(x)}), xxx xx xxxxxxx {"xx", "xxxxxx", "xxxxxx", "xx", "xxxxxx"}.

xxxxxxxxxxx

  • xx xx (x xxxxx xx^x) xxxxxxxxxx. xxxxxxx xxx xxxxx xxxxxxx, xxx xxx xxxxxxxx. xx xxx xxxxxxxxxxx xxxx xxx xxxx xxxxx xx xxxxx xxx,xxx xxxxxx xxx xx xxxx xxxxxxx xxx xxxxxxxx xxx,xxx xxxxx.
  • xxxxx xxxxxxxxx xx xxx xx xxx xxxx xxxxx xxxxx, xxxx-xxxxxx xx xxxxx; xxx xxxxxx (xxx, xxxxx, xxxxxxxxxx) xxx xxxx xxx xxxxxxxx.
  • xxxxx, xxxxxx, xxxxx, xxx xxxxxxxx xxxxxx xxxx xx x(x)-xxx; xxxxx xxx xxxx xxx xxxxxx xx xxxxxxx.

This problem is only available to subscribers.

Language:
Python 3.12C++23
run_ops

Unlock the problem to run it against the tests.