Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long long ll;
  6. typedef long double ld;
  7.  
  8. //#define int long long
  9. int n;
  10. int ans=0;
  11. int a_sz;
  12. int b_sz;
  13. int c_sz;
  14. int mp[2][35];
  15. vector<int> as;
  16. vector<int> bs;
  17. vector<int> tp;
  18. vector<int> used;
  19.  
  20. void rec(int pos,int last_up,int last_down){
  21. if(pos==n){
  22. ans++;
  23. return;
  24. }
  25. for(int i=last_up;i<=2*n;i++){
  26. if(used[i]) continue;
  27. if(tp[i]==1) continue;
  28. for(int j=max(i+1,last_down+1);j<=2*n;j++){
  29. if(used[j]) continue;
  30. if(tp[j]==0) continue;
  31. used[i]=1;
  32. used[j]=1;
  33.  
  34. rec(pos+1,i,j);
  35. used[i]=0;
  36. used[j]=0;
  37. }
  38. }
  39. }
  40.  
  41. signed main(){
  42. ios_base::sync_with_stdio(false);
  43. cin.tie(0);
  44.  
  45. cin >> n;
  46. used.resize(2*n+1,0);
  47. tp.resize(2*n+1,2);
  48. cin >> a_sz;
  49.  
  50. for(int i=0;i<a_sz;i++){
  51. int tmp;
  52. cin >> tmp;
  53. tp[tmp]=0;
  54. as.push_back(tmp);
  55. }
  56. cin >> b_sz;
  57. for(int i=0;i<b_sz;i++){
  58. int tmp;
  59. cin >> tmp;
  60. tp[tmp]=1;
  61. bs.push_back(tmp);
  62. }
  63. rec(0,0,0);
  64. cout << ans << endl;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement