(I2
I139
I6
(dp0
Vtable.%l
p1
(Vtable.cpp
p2
S'#include <iostream>\r\n#include <algorithm>\r\nusing namespace std;\r\nbool prt[71];\r\nint pos_pos_row[36][36];\r\nint pos_pos_col[36][36];\r\nint n;\r\nint la = 0, lb = 0, lc = 0;\r\nint a[37], b[37], c[37];\r\nint ppl[36];//possible positions length\r\nint much[2]; //how much numbers are there on each row\r\nint start(int pos, int lastmin)\r\n{\r\n    if(pos >= lc) return 1;\r\n    int ways = 1;\r\n    for(int i = 0; i < ppl[pos]; i ++)\r\n    {\r\n        int row = pos_pos_row[pos][i];\r\n        int col = pos_pos_col[pos][i];\r\n        //cout << r << much[r] << endl;\r\n        if(much[row] < n && c[pos] > lastmin)\r\n        {\r\n            int nm = 0;\r\n            much[row] ++;\r\n            if(row == 0) nm = a[0];\r\n            if(row == 1) nm = b[0];\r\n            ways += start(pos+1, nm);\r\n            much[row] --;\r\n        }\r\n    }\r\n    return ways;\r\n}\r\nint main()\r\n{\r\n    cin >> n;\r\n    cin >> la;\r\n    for(int i = 0; i < la; i ++)\r\n    {\r\n        cin >> a[i];\r\n        prt[a[i]] = true;\r\n    }\r\n    cin >> lb;\r\n    for(int i = 0; i < lb; i ++)\r\n    {\r\n        cin >> b[i];\r\n        prt[b[i]] = true;\r\n    }\r\n    for(int i = 1; i <= 2*n; i ++)\r\n    {\r\n        if(!prt[i])\r\n        {\r\n            c[lc] = i;\r\n            lc ++;\r\n        }\r\n    }\r\n    sort(a,a+la);\r\n    sort(b,b+lb);\r\n    sort(c,c+lc);\r\n    much[0] = la;\r\n    much[1] = lb;\r\n    for(int i = 0; i < lc; i ++)\r\n    {\r\n        a[la+1] = 2*n;\r\n        b[lb+1] = 2*n;\r\n        if(c[i] < a[0])\r\n        {\r\n            pos_pos_row[i][ppl[i]] = 0;\r\n            pos_pos_col[i][ppl[i]] = -1;\r\n            ppl[i] ++;\r\n        }\r\n        if(c[i] < b[0])\r\n        {\r\n            pos_pos_row[i][ppl[i]] = 1;\r\n            pos_pos_col[i][ppl[i]] = -1;\r\n            ppl[i] ++;\r\n        }\r\n        for(int aa = 0; aa < la; aa ++)\r\n        {\r\n            if(c[i] > a[aa] && c[i] < a[aa+1])\r\n            {\r\n                pos_pos_row[i][ppl[i]] = 0;\r\n                pos_pos_col[i][ppl[i]] = aa;\r\n                ppl[i] ++;\r\n            }\r\n        }\r\n        for(int aa = 0; aa < lb; aa ++)\r\n        {\r\n            if(c[i] > b[aa] && c[i] < b[aa+1])\r\n            {\r\n                pos_pos_row[i][ppl[i]] = 1;\r\n                pos_pos_col[i][ppl[i]] = aa;\r\n                ppl[i] ++;\r\n            }\r\n        }\r\n    }\r\n    cout << start(0,a[0])+1 << endl;\r\n}'
p3
tp4
stp5
.