Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma comment(linker, "/STACK:65777216")
- #include <iostream>
- #include <iomanip>
- #include <cstdlib>
- #include <ctime>
- #include <cstdio>
- #include <algorithm>
- #include <cmath>
- #include <vector>
- #include <set>
- #include <stack>
- #include <map>
- #include <queue>
- #include <string>
- #include <memory.h>
- #include <iterator>
- #define y1 trololoy1
- #define y0 trololoy0
- #define mem(A,X) memset(A,X,sizeof(A))
- #define memo(A) memset(A,0,sizeof(A))
- #define forn(I,B) for (int I=1;I<=(B);I++)
- #define forg(H,V) for (int H=first[V];h;h=next[H])
- #define rep(I,B) for (int I=0;I<(B);I++)
- #define labs(X) (((X)>0)?(X):(-(X)))
- #define ropen(X) freopen(X,"r",stdin)
- #define wopen(X) freopen(X,"w",stdout)
- #define rwopen(X) freopen(X".in","r",stdin);freopen(X".out","w",stdout)
- #define pb push_back
- #define mp make_pair
- #define all(X) (X).begin(),(X).end()
- #define sqr(X) ((X)*(X))
- using namespace std;
- typedef pair <int,int> pii;
- typedef double ld;
- typedef long long ll;
- typedef pair <ll,ll> pll;
- typedef vector<int> vi;
- const int N=111111;
- const ll P=1000000000;
- const int INF=1111111111;
- const double eps=1e-9;
- const double pi=3.14159265358979;
- double f[7][7][1<<12],p,ans;
- int n,m,start,lim=1<<12,nxt;
- int main(){
- cin>>n>>m;
- rep(i,n+m){
- int x;
- cin>>x;
- start|=1<<(x-1);
- if (x==13){
- puts("0.000000");
- return 0;
- }
- }
- cin>>p;
- f[n][m][start]=1.0;
- for (int sum=n+m;sum<=11;sum++)
- for (int win=n;win<=5;win++){
- int lose=sum-win;
- if (lose>5 || lose<m) continue;
- for (int msk=0;msk<lim;msk++){
- if (f[win][lose][msk]==0.0) continue;
- nxt=12;
- ans+=f[win][lose][msk]/13.0;
- for (int i=11;i>=0;i--){
- if (!(msk&(1<<i))) nxt=i;
- if (nxt==12) ans+=f[win][lose][msk]/13.0;
- else{
- f[win+1][lose][msk|(1<<nxt)]+=f[win][lose][msk]*p/13.0;
- f[win][lose+1][msk|(1<<nxt)]+=f[win][lose][msk]*(1.0-p)/13.0;
- }
- }
- }
- }
- printf("%lf\n",ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment