(I2
I288
I6
(dp0
Vtable.%l
p1
(Vtable_boost.cpp
p2
S'#include <iostream>\r\n#include <vector>\r\n#include <algorithm>\r\n\r\nusing namespace std;\r\n    \r\nvector<short> vecA, vecB, vecC;\r\nvector<short> vecSolve[100];\r\nshort nSolveIndex = 0;\r\nlong long nTotal = 0;\r\n\r\nvoid check_permutation(vector<short> vecA_C, vector<short> vecB_C)\r\n{\r\n    vector<short> A = vecA;\r\n    \r\n    for (short i = 0; i < vecA_C.size(); i++)\r\n        A.push_back(vecA_C[i]);\r\n    \r\n    vector<short> B = vecB;\r\n    \r\n    for (short i = 0; i < vecB_C.size(); i++)\r\n        B.push_back(vecB_C[i]);\r\n    \r\n    sort(A.begin(),A.end());\r\n    sort(B.begin(),B.end());\r\n    \r\n    for (short i = 0; i < A.size(); i++)\r\n        if (A[i] > B[i])\r\n            return;\r\n    \r\n    nTotal++;\r\n}\r\n\r\nlong long big(long long a, long long b)\r\n{\r\n    if (a > b)\r\n        return a;\r\n    else \r\n        return b;\r\n}\r\n\r\nint main ()\r\n{\r\n    short nMAX = 0;\r\n    cin >> nMAX;\r\n    \r\n    nMAX *= 2;\r\n\r\n    bool bNumbC[80] = {0};\r\n    \r\n    short nA_count, nB_count;\r\n    \r\n    cin >> nA_count;\r\n    \r\n    for (short i = 0; i < nA_count; i++)\r\n    {\r\n        short nCin;\r\n        cin >> nCin;\r\n        \r\n        bNumbC[nCin - 1] = true;\r\n        \r\n        vecA.push_back(nCin);\r\n    }\r\n    \r\n    cin >> nB_count;\r\n    \r\n    for (short i = 0; i < nB_count; i++)\r\n    {\r\n        short nCin;\r\n        cin >> nCin;\r\n        \r\n        bNumbC[nCin - 1] = true;\r\n        \r\n        vecB.push_back(nCin);\r\n    }\r\n    \r\n    for (short i = 0; i < nMAX; i++)\r\n        if (!bNumbC[i])\r\n            vecC.push_back(i + 1);\r\n\r\n    long long nPermCount = 1;\r\n    \r\n    for (short i = 1; i <= vecC.size(); i++)\r\n        nPermCount *= i;\r\n    \r\n    short nA_add = nMAX/2 - vecA.size(), nB_add = nMAX/2 - vecB.size();\r\n    \r\n    for (long long i = 0; i < nPermCount; i++)\r\n    {\r\n        vector<short> A, B;\r\n    \r\n        for (short i = 1; i <= nA_add; i++)\r\n            A.push_back(vecC[vecC.size() - i]);\r\n    \r\n        for (short i = 0; i < nB_add; i++)\r\n            B.push_back(vecC[i]);\r\n    \r\n        sort(A.begin(),A.end());\r\n          \r\n        bool bCheck = true;  \r\n        \r\n        for (short i = 0; i < nSolveIndex; i++)\r\n            if (vecSolve[i] == A)\r\n                bCheck = false;\r\n                \r\n        if (bCheck)\r\n            check_permutation(A, B);\r\n        \r\n        vecSolve[nSolveIndex] = A;\r\n        nSolveIndex ++;\r\n        \r\n        next_permutation(vecC.begin(), vecC.end());\r\n    }\r\n    \r\n    cout << nTotal << endl;\r\n\r\n    return 0;\r\n}'
p3
tp4
stp5
.