(I2
I149
I6
(dp0
Vtable.%l
p1
(Vmain.cpp
p2
S'#include <cstdio>\r\n#define LL long long\r\n\r\nusing namespace std;\r\n\r\nconst int nmax = 35;\r\n\r\nint f[2*nmax+5];\r\nLL d[nmax+5][2*nmax+5];\r\n\r\nint main()\r\n{\r\n    //freopen("test.in", "r", stdin);\r\n    //freopen("test.out", "w", stdout);\r\n    int n;\r\n    scanf("%d", &n);\r\n    int n1;\r\n    scanf("%d", &n1);\r\n    for(int i=0; i<n1; i++)\r\n\t{\r\n\t\tint x;\r\n\t\tscanf("%d", &x);\r\n\t\tf[x] = 1;\r\n\t}\r\n\tint n2;\r\n\tscanf("%d", &n2);\r\n\tfor(int i=0; i<n2; i++)\r\n\t{\r\n\t\tint x;\r\n\t\tscanf("%d", &x);\r\n\t\tf[x] = 2;\r\n\t}\r\n\tfor(int i=1; i<=2*n; i++)\r\n\t\tif(f[i] == 0)f[i] = 3;\r\n//\tfor(int i=1; i<=2*n; i++)\r\n//\t\tprintf("%d ", f[i]);\r\n//\tprintf("\\n");\r\n\tbool d_2 = f[2] == 3 || f[2] == 2; ///down 2\r\n\tbool u_2 = f[2] == 3 || f[2] == 1; ///up 2\r\n\tbool d_1 = f[1] == 3 || f[1] == 2; ///down 1\r\n\tbool u_1 = f[1] == 3 || f[1] == 1; ///up 1\r\n\tif(u_1 && d_2)d[1][1] = 1;\r\n\tif(u_1 && u_2)d[1][2] = 1;\r\n\tfor(int i=2; i<=n; i++)\r\n\t{\r\n\t\tbool d_2i = f[2*i] == 3 || f[2*i] == 2; ///down 2i\r\n\t\tbool u_2i = f[2*i] == 3 || f[2*i] == 1; ///up 2*i\r\n\t\tbool d_2i1 = f[2*i-1] == 3 || f[2*i-1] == 2; ///down 2*i-1\r\n\t\tbool u_2i1 = f[2*i-1] == 3 || f[2*i-1] == 1; ///up 2*i-1\r\n\t\tfor(int j=i+1; j<=n; j++)\r\n\t\t{\r\n\t\t\tif(d_2i && d_2i1)d[i][j]+=d[i-1][j];\r\n\t\t\tif(d_2i && u_2i1)d[i][j]+=d[i-1][j-1];\r\n\t\t\tif(u_2i && d_2i1)d[i][j]+=d[i-1][j-1];\r\n\t\t\tif(u_2i && u_2i1)d[i][j]+=d[i-1][j-2];\r\n\t\t}\r\n\t\tif(!d_2i)\r\n\t\t{\r\n\t\t\td[i][i] = 0;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif(d_2i1)d[i][i]+=d[i-1][i];\r\n\t\tif(u_2i1)d[i][i]+=d[i-1][i-1];\r\n\t}\r\n//\tfor(int i=1; i<=n; i++)\r\n//\t{\r\n//\t\tfor(int j=1; j<=n; j++)\r\n//\t\t\tprintf("%d ", d[i][j]);\r\n//\t\tprintf("\\n");\r\n//\t}\r\n\tprintf("%lld\\n", d[n][n]);\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.