zoukankan      html  css  js  c++  java
  • CF24D Broken robot

    题意翻译

    你收到的礼物是一个非常聪明的机器人,行走在一块长方形的木板上。不幸的是,你知道它是坏的,表现得相当奇怪(随机)。该板由n行和m列的单元格组成。机器人最初是在i行和j j列的某个单元格上。然后在每一步机器人可以到另一个单元。目的是去底层(n次)行。机器人可以停留在当前单元,向左移动,向右边移动,或者移动到当前下方的单元。如果机器人在最左边的列不能向左移动,如果它是在最右边的列不能向右移动。在每一步中,所有可能的动作都是同样可能的。返回步的预期数量达到下面的行。

    一道好好地高斯消元被打成了暴力……

    不难看出这是一个环形后效性的dp

    然而我并不会……

    于是打了个暴力,就是每一层在转移的时候多转移几次……

    竟然过了……

    虽然跑得很慢……但代码很短啊……

     1 //minamoto
     2 #include<cstdio>
     3 const int N=1005;
     4 double dp[N][N],d[N];
     5 int n,m,a,b;
     6 int main(){
     7     scanf("%d%d%d%d",&n,&m,&a,&b);
     8     for(int i=1;i<=m;++i){
     9         d[i]=2;
    10         if(i>1) ++d[i];if(i<m) ++d[i];
    11     }
    12     for(int i=a+1;i<=n;++i)
    13     for(int t=0;t<100;++t)
    14     for(int j=1;j<=m;++j){
    15         double Q=dp[i][j-1]+dp[i][j]+dp[i-1][j]+dp[i][j+1];
    16         dp[i][j]=1.0+Q/d[j];
    17     }
    18     printf("%.10lf
    ",dp[n][b]);
    19     return 0;
    20 }
  • 相关阅读:
    JavaScript常用正則表達式
    详尽解析window.event对象
    DWR的类却无法在js里用
    javascript控制小数点精度
    49. Group Anagrams
    48. Rotate Image
    64. Minimum Path Sum
    63. Unique Paths II
    62. Unique Paths
    53. Maximum Subarray
  • 原文地址:https://www.cnblogs.com/bztMinamoto/p/9792491.html
Copyright © 2011-2022 走看看