zoj 2271

来源:互联网 发布:2000年代流行网络歌曲 编辑:程序博客网 时间:2024/06/05 08:45

不知道为什么过不了。

#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int dir[301][301]={0};float p[301][301]={0},q[301][301]={0};int main(){int n;    while(~scanf("%d",&n))    {    memset(dir,0,sizeof(dir));    memset(p,0,sizeof(p));    memset(q,0,sizeof(q));    int i,j,k,t;    float ans=0;k=(n+1)/2;q[k][k]=1;for(i=1;i<=n;i++)for(j=1;j<=n;j++){if((i==1&&j==1)||(i==1&&j==n)||(i==n&&j==n)||(i==n&&j==1))dir[i][j]=2;else if(i==1||j==1||i==n||j==n)dir[i][j]=3;else dir[i][j]=4;}for(t=1;t<=n;t++){for(i=1;i<=n;i++)for(j=1;j<=n;j++)p[i][j]=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++){p[i][j]+=q[i][j-1]/dir[i][j-1];p[i][j]+=q[i-1][j]/dir[i-1][j];p[i][j]+=q[i+1][j]/dir[i+1][j];p[i][j]+=q[i][j+1]/dir[i][j+1];}ans+=p[k][t];p[k][t]=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++)q[i][j]=p[i][j];}if(ans<=0.00001)printf("0\n");elseprintf("%.4f\n",ans);}return 0;}


原创粉丝点击