⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4169038_wa.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
#include<stdio.h>
#include<memory.h>
double p[102][102];
int l[102],b[102];
int main()
{
	int n,t,ll,bb;
	while(scanf("%d%d%d%d",&n,&t,&ll,&bb)==4)
	{
       int i,j,k;
	   memset(p,0,sizeof(p));
	   memset(l,0,sizeof(l));
	   memset(b,0,sizeof(b));
	   for(i=0;i<ll;i++)
	   { 
		   scanf("%d",&k);
            l[k]=1;
	   }
	   for(j=0;j<bb;j++)
	   {   
		   scanf("%d",&k);
		   b[k]=1;
	   }
	   p[0][0]=1.0;
	     double re=0.0;
	   for(i=1;i<=t;i++)
	   {
		   for(j=1;j<n;j++)
		   {
			   int w;
			      w=j;
			   if(b[j]==1)
                   w=0;
			  for(k=j-1;k>=j-6&&k>=0;k--)
			  {

				  p[i][w]=p[i][w]+p[i-1][k]/6.0;
			  }
			  if(j!=n)
			  {
			   for(k=2*n-6-j;k<n&&n-k<6;k++)
				  p[i][w]=p[i][w]+p[i-1][k]/6.0;
			  }
			  if(l[j]==1)
			  {
				  p[i+1][w]=p[i+1][w]+p[i][w]/6.0;
			  }
		   }
		  re=re+p[i][n];
	   }
    printf("%.6lf\n",re);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -