#include<stdio.h>
int n,m,num[20],sum;
int Ca(int x){
int t=1,i;
for(i=0;i<x;i++)
t*=6;
return t;
}
int Ba(int x){
int t=1,i;
for(i=0;i<x;i++)
t*=3;
return t;
}
void Dfs(int x){
int i;
if(x>n)
return;
for(i=2;i>0;i--){//用2代表4 5 6而1代表1 2 3
if(i>1)
num[x]=num[x-1]+1;
else
num[x]=0;
if(num[x]>=m){
sum+=Ba(x)*Ca(n-x);
}
else
Dfs(x+1);
}
}
int main(){
int t,i,j;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
sum=0;
num[0]=0;
Dfs(1);
printf("%.2lf\n",1.0*sum/Ca(n));
}
return 0;
}
1267

被折叠的 条评论
为什么被折叠?



